Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Il problema è che io ho 2 tabelle

    tabella giornata:

    id_match.... id_sqadra_casa id_squadra_trasferta esito_casa esito_trasferta

    e la tabella squadra

    id_squadra squadra
    1 nomesquadra
    2 nomesquadra

    adesso, com'è ora la query, mi stampa a video l'id della squadra, ma dovrei stampare il nome della squadra(salvati nella tabella squadra che ho sul db)
    Con i sogni possiamo conoscere il futuro...

  2. #12
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    ...come ho detto prima, fai una select che non includa l'id della squadra e questo non appare.
    Forse stai confondendo la select con il join; mettere l'id squadra nella join (e lo devi includere per forza sennò non puoi tirare fuori il nome della squadra) NON significa che l'id venga visualizzato.
    Esempio veloce:

    SELECT nomesquadra, giornata, punti
    FROM giornate
    INNER JOIN squadre
    ON giornate.id_squadra = squadre.id_squadra
    WHERE giornata=18

    stamperà a video

    JUVENTUS - 18 - 45
    MILAN - 18 - 44
    INTER - 18 - 43

    e così via....

  3. #13
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    freeman74, grazie per la risposta.
    Comunque penso che bisogni ritoccare questa parte di query:

    codice:
    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
    Con i sogni possiamo conoscere il futuro...

  4. #14
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    il mio era solo un esempio per farti capire che se non metti l'id_squadra nella select allora non viene visualizzato nel risultato.
    Funziona?

  5. #15
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Noon l'ho ancora provato, però scusami io ho il nome della squadra nella tabella "squadra"

    tabella squadra:

    id_squadra squadra
    1 juventus
    2 napoli
    ...
    ...
    ...

    e nella tabella "giornata" che ho gli id... se metto squadra non penso possa andare...
    Con i sogni possiamo conoscere il futuro...

  6. #16
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    freeman, ho provato così:

    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(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
    			from
    			(
    			select squadra as squadra,esito_casa as fatti,esito_trasferta as subiti,'C' as dove, 
    			case
    			when esito_casa > esito_trasferta then 3
    			when esito_casa = esito_trasferta then 1
    			else 0
    			end as punteggio
    			from squadra, giornata where id_torneo = 1 
    			union all
    			select squadra as squadra,esito_trasferta as fatti,esito_casa as subiti,'T',
    			case
    			when esito_trasferta > esito_casa then 3
    			when esito_trasferta = esito_casa then 1
    			else 0
    			end as punteggio
    			from squadra, giornata where id_torneo = 1
    			) as tab
    			group by squadra
    			order by punteggio desc
    Funziona, perchè mi stampa a video i nomi delle squadre, però non mi conteggia bene la classifica o meglio mi dà lo stesso risultato per tutte le squadra, guarda:

    http://lnx.fcsclub.it/classifica_turtoro.php
    Con i sogni possiamo conoscere il futuro...

  7. #17
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    Originariamente inviato da gaten
    Noon l'ho ancora provato, però scusami io ho il nome della squadra nella tabella "squadra"

    tabella squadra:

    id_squadra squadra
    1 juventus
    2 napoli
    ...
    ...
    ...

    e nella tabella "giornata" che ho gli id... se metto squadra non penso possa andare...
    è esattamente l'esempio che ti ho messo io...lo scrivo meglio:

    SELECT squadre.nomesquadra, giornate.giornata, giornate.punti
    FROM giornate
    INNER JOIN squadre
    ON giornate.id_squadra = squadre.id_squadra
    WHERE giornata=18

    che ti estrae i seguenti campi:
    - il nome della squadra
    - la giornata interessata (nell'esempio la 18)
    - i punti per quella giornata

    non ha importanza dove hai il nome della squadra, l'importante è che sia corretta la relazione...poi se la squadra sta in giornate o in squadra o dove vuoi, modifichi la select di conseguenza...

  8. #18
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    se lanci la query direttamente nel db esce la stessa cosa?

  9. #19
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Si hai ragione, così funziona alla grande, prp come volevo:

    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(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
    			from
    			(
    			select squadra.squadra as squadra,esito_casa as fatti,esito_trasferta as subiti,'C' as dove, 
    			case
    			when esito_casa > esito_trasferta then 3
    			when esito_casa = esito_trasferta then 1
    			else 0
    			end as punteggio
    			from giornata inner join squadra on giornata.squadra_casa = squadra.id_squadra WHERE giornata.id_torneo =1
    			union all
    			select squadra.squadra as squadra,esito_trasferta as fatti,esito_casa as subiti,'T',
    			case
    			when esito_trasferta > esito_casa then 3
    			when esito_trasferta = esito_casa then 1
    			else 0
    			end as punteggio
    			from giornata inner join squadra on giornata.squadra_trasferta = squadra.id_squadra WHERE giornata.id_torneo =1
    			) as tab
    			group by squadra
    			order by punteggio desc
    Ecco come ho modificato la query.
    Freeman volevo approfittare per chiedere un'ultima cosa:
    Io ho la seguente query:

    codice:
    SELECT DISTINCT P.divisione, G . *
    FROM giornata AS G
    INNER JOIN partecipa AS P ON ( P.id_squadra = G.squadra_casa
    OR P.id_squadra = G.squadra_trasferta )
    AND P.id_torneo = G.id_torneo
    AND G.id_torneo =1
    AND P.divisione = 'A'
    Questa query, mi permette di estrapolare dalla tabella gioranta, tutti i match associati a un determinato girone appartenente ad un determinato torneo... come puoi vedere in questo caso, faccio riferimento ai match relativi al girone A del torneo 1.
    Come potrei applicare questa query a quella precedente per ricavare la classifica? A questo punto e come se dovessi fare più inner join...

    Grazie anticipatamente.
    Con i sogni possiamo conoscere il futuro...

  10. #20
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    up
    Con i sogni possiamo conoscere il futuro...

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.