Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 32
  1. #11
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select t1.teamname,t2.teamname,c.homescore,c.visitorscore
    from ca5_calendar as c
    inner join ca5_teams as t1 on t1.uid = c.hometeam 
    inner join ca5_teams as t2 on t2.uid = c.visitorteam

  2. #12
    ok ma dove sono i 2 nomi squadra? in t1 e t2?
    ho provato a stampare l'array generato ma non appaiono..

  3. #13
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select t1.teamname as sq1,t2.teamname as sq2,c.homescore as gsq1,c.visitorscore as gsq2
    from ca5_calendar as c
    inner join ca5_teams as t1 on t1.uid = c.hometeam 
    inner join ca5_teams as t2 on t2.uid = c.visitorteam
    order by c.uid
    Fai riferimento agli alias per estrapolare i dati.

  4. #14
    ok funziona grazie mille,
    studio un po la sintassi e se in caso ho altre domande ti disturbo ancora
    ciao

  5. #15
    Originariamente inviato da nicola75ss
    Posto la mia query con quelle statistiche supplementari che volevi.
    Può sempre tornare utile a qualcuno.

    codice:
    select squadra,
    count(squadra) as partite,
    sum(if(punteggio=3,1,0)) as vittorie,
    sum(if(punteggio=1,1,0)) as pareggi,
    sum(if(punteggio=0,1,0)) as sconfitte,
    sum(punteggio) as punteggio,
    sum(fatti) as fatti,
    sum(subiti) as subiti,
    sum(fatti)-sum(subiti) as diff_reti,
    sum(if(dove="C",fatti,0)) as fatti_casa,
    sum(if(dove="T",fatti,0)) as fatti_trasferta,
    sum(if(dove="C",subiti,0)) as subiti_casa,
    sum(if(dove="T",subiti,0)) as subiti_trasferta,
    sum(if(punteggio=3 and dove = "C",1,0)) as vittorie_casa,
    sum(if(punteggio=1 and dove = "C",1,0)) as pareggi_casa,
    sum(if(punteggio=0 and dove = "C",1,0)) as sconfitte_casa,
    sum(if(punteggio=3 and dove = "T",1,0)) as vittorie_trasferta,
    sum(if(punteggio=1 and dove = "T",1,0)) as pareggi_trasferta,
    sum(if(punteggio=0 and dove = "T",1,0)) as sconfitte_trasferta,
    sum(if(dove = "C",1,0)) as partite_casa,
    sum(if(dove = "T",1,0)) as partite_trasferta
    from
    (
    select sq_casa as squadra,gol_casa as fatti,gol_trasferta as subiti,"C" as dove, 
    case
    when gol_casa > gol_trasferta then 3
    when gol_casa = gol_trasferta then 1
    else 0
    end as punteggio
    from campionato
    union all
    select sq_trasferta as squadra,gol_trasferta as fatti,gol_casa as subiti,"T",
    case
    when gol_trasferta > gol_casa then 3
    when gol_trasferta = gol_casa then 1
    else 0
    end as punteggio
    from campionato
    ) as tab
    group by squadra
    order by punteggio desc
    ciao ottima query, peccato che mi dia qualche errore che non riesco a capire.
    i punteggi calcolati sono tutti giusti a parte la prima squadra classificata e l'ultima (mancano dei punti). non riesco a capire dove sta il problema..

    grazie ottimo script comunque

  6. #16
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da davidino80
    ciao ottima query, peccato che mi dia qualche errore che non riesco a capire.
    i punteggi calcolati sono tutti giusti a parte la prima squadra classificata e l'ultima (mancano dei punti). non riesco a capire dove sta il problema..

    grazie ottimo script comunque
    Ciao. Potresti postare un dump che riproduca il problema per verificare la query?

  7. #17
    ho scoperto il problema: i gol fatti e subiti nel calendario erano in varchar, mentre lo script funziona correttamente se i campi sono integer.

    non voglio che venga a mostrata una partita se non si conosce ancora il risultato; non posso fare un controllo sulla data perchè, anche se è finita la partita, è facile che non si conosca il risultato immediatamente (parlo di leghe minori, non certo serieA).

    come potrei risolvere? campo aggiuntivo che differenza risultato si/no?
    col campo vuoto era più semplice..

    ciao grazie

  8. #18
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da davidino80
    come potrei risolvere? campo aggiuntivo che differenza risultato si/no?
    Fai così. Aggiungi un campo tinyint(1) che settarai a 0/1.

  9. #19
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    13

    aiuto

    Ciao,
    è la prima volta che scrivo in questo forum.
    Stavo guardando la query riguardante la classifica ma sinceramente non riesco ad addatarlo al mio database (non sono molto esperto di mysql) quindi volevo chiedervi un aiuto.
    cmq vi posto le mie tabelle piu importanti che dovrebbero servire per l'occasione:

    tabella squadra (dove sono inserite tutte le squadre di ogni stagione)
    codice:
    CREATE TABLE IF NOT EXISTS `squadra` (
      `ID_squadra` int(20) NOT NULL AUTO_INCREMENT,
      `nome` varchar(20) NOT NULL,
      `paese` varchar(20) NOT NULL,
      `stadio` varchar(20) NOT NULL,
      `descrizione` varchar(150) NOT NULL,
      PRIMARY KEY (`ID_squadra`)
    )
    tabella partita (tutte le partite di ogni squadra e di tutti i campionati di ogni stagione, per trovare una determinata partita utilizzo la data come riferimento (esiste una tabella "giornata" ma non c'è un vero e proprio collegamento con essa perchè come ho già detto utilizzo la data come collegamento))
    codice:
    CREATE TABLE IF NOT EXISTS `partita` (
      `ID_partita` int(20) NOT NULL AUTO_INCREMENT,
      `data_partita` date NOT NULL,
      `sq_casa` int(20) NOT NULL,
      `sq_fuori` int(20) NOT NULL,
      `goal_c` int(2) DEFAULT NULL,
      `goal_f` int(2) DEFAULT NULL,
      PRIMARY KEY (`ID_partita`)
    )


    tabella classifica (in cui vengono suddivise le squadre a seconda della stagione, il campo stagione è una chiave esterna della tabella "stagione")
    codice:
    CREATE TABLE IF NOT EXISTS `classifica` (
      `ID_classifica` int(20) NOT NULL AUTO_INCREMENT,
      `squadra` int(20) NOT NULL,
      `stagione` int(20) NOT NULL,
      PRIMARY KEY (`ID_classifica`)
    )

    Spero che riusciate ad aiutarmi

    grazie per ora

  10. #20
    per le prime 2 tabelle vale lo script che è nella prima pagina del post.

    la tabella classifica non ti serve perchè lo script ricava la classifica calcolandola dai risultati.
    non serve salvarla su un'altra tabella, basta mostrarla a video ordinata per punti.

    intanto prova, poi al limite passa a domande più specifiche.

    ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.