Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Query per Partite Giocate

    Ho una tabella con le giornate delle partite. Semplificata (tolgo id, data e altri campi di informazioni) con un esempio:..
    codice:
    SQ_A      SQ_B      RIS_A RIS_B
    Squadra_1 Squadra_2 2     0
    Squadra_2 Squadra_3 1     4
    Squadra_4 Squadra_1 3     2
    Squadra_4 Squadra_2 3     1
    Ho fatto un query per la classifica ed ho quindi una tabella con SQUADRA e PUNTI. Volevo aggiungere la colonna PARTITE GIOCATE.
    Come potrei impostare la select per le partite giocate?
    Già che ci siamo... mi piacerebbe fare anche la somma di tutti i goal fatti e di tutti i goal subiti (altre due colonne) dalle squadre.
    Qualcuno mi da' una mano? :master:
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  2. #2
    ... e quindi il risultato che mi sarebbe piaciuto ottenere è una cosa di questo tipo:...
    codice:
    SQUADRA    Punti  GolFatti   GolSubiti
    Squadra_1  ...    ...        ...
    Squadra_2  ...    ...        ...
    Squadra_3  ...    ...        ...
    Squadra_4  ...    ...        ...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da ricman
    ... e quindi il risultato che mi sarebbe piaciuto ottenere è una cosa di questo tipo:...
    codice:
    SQUADRA    Punti  GolFatti   GolSubiti
    Squadra_1  ...    ...        ...
    Squadra_2  ...    ...        ...
    Squadra_3  ...    ...        ...
    Squadra_4  ...    ...        ...
    codice:
    select squadra,sum(punteggio) as punteggio,sum(fatti) as fatti,sum(subiti) as subiti from
    (
    select sq_A as squadra,ris_A as fatti,ris_b as subiti,
    case
    when RIS_A > RIS_B then 3
    when RIS_A = RIS_B then 1
    else 0
    end as punteggio
    from tabella
    union all
    select sq_B as squadra,ris_B as fatti,ris_A as subiti,
    case
    when RIS_B > RIS_A then 3
    when RIS_B = RIS_A then 1
    else 0
    end as punteggio
    from tabella
    ) as tab
    group by squadra
    order by punteggio desc
    edit. Ah, per il numero di partite giocate basta che aggiunga alla prima riga della query

    count(squadra) as partite

    nella posizione che preferisci.

  4. #4
    L'ho provata... c'è qualcosa che non va... Mi restituisce una squadra che nn esiste
    La tabella delle squadre è questa:..
    codice:
    ID  SQUADRA
    1   Squadra_1
    2   Squadra_2
    3   Squadra_3
    4   Squadra_4
    E la tabella coi risultati, che ho chiamato "partite", è questa:
    Immagini allegate Immagini allegate
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  5. #5
    Eseguendo la query che proponevi (opportunamente adeguata ai nomi delle colonne del mio Db):...
    codice:
    select squadra,sum(punteggio) as punteggio, COUNT(squadra) AS Giocate, sum(fatti) as fatti,sum(subiti) as subiti from
    (
    select sq_a as squadra, ris_sq_a as fatti, ris_sq_b as subiti,
    case
    when ris_sq_a > ris_sq_b then 3
    when ris_sq_a = ris_sq_b then 1
    else 0
    end as punteggio
    from partite
    union all
    select ris_sq_b as squadra, ris_sq_b as fatti, ris_sq_a as subiti,
    case
    when ris_sq_b > ris_sq_a then 3
    when ris_sq_b = ris_sq_a then 1
    else 0
    end as punteggio
    from partite
    ) as tab
    group by squadra
    order by punteggio des
    ...ottengo questo risultato... Dove, nella colonna Squadre, c'è una squadra che si chiama 0 (per ora nella colonna Squadre ci sono gli ID delle squadre... non i nomi in formato testo...):
    Immagini allegate Immagini allegate
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Che significa che ti restituisce una squadra che non esiste.

    Per avere i nomi letterali delle squadre basta che integri nella query un semplice join con la tabella contenente i nominativi delle squadre.

  7. #7
    Originariamente inviato da nicola75ss
    Che significa che ti restituisce una squadra che non esiste.
    Chiedo venia.... avevo unito alla colonna delle squadre qualla dei risultati


    Originariamente inviato da nicola75ss
    Per avere i nomi letterali delle squadre basta che integri nella query un semplice join con la tabella contenente i nominativi delle squadre.
    Si... nel frattempo mi ero messo a sistemare quello. Adesso sembra che tutto quadri...



    Senti una cosa... sei così ferrato in php/mysql ... sei già passato sopra la gestione di tornei?
    ...In generale come gestiresti le giornate?
    ...nel buttare giù il mio progettino didattico sono partito dalla fine... cioè quello che deve vedere un navigatore del mio sito. Quindi elenco squadre, classifiche, punti etc... Mi manca il calendario, che va diviso per giornate. Ho aggiunto una colonna giornata alla tabella delle partite. Pensi che possa bastare?
    Query a parte... come si affronta la gestione del calendario partite? (sono fuori tema? apro un altro thread?)
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Dovrebbe bastare nel caso non debba generare tu in modo automatico tutto il calendario del torneo. Dipende dalle tue esigenze.
    Magari apri un altro thread e senti altre campane.

  9. #9
    Originariamente inviato da nicola75ss
    Dovrebbe bastare nel caso non debba generare tu in modo automatico tutto il calendario del torneo. Dipende dalle tue esigenze.
    Magari apri un altro thread e senti altre campane.
    Ah... scusa... non ti avevo ringraziato ... mi hai dato una grossa mano!!

    Ora ci studio un altro po' e poi vedrò di formulare meglio altre domande...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prego.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.