Visualizzazione dei risultati da 1 a 5 su 5

Discussione: unione di query

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395

    unione di query

    ciao a tutti.

    devo raggruppare due query ma sono in difficoltà.

    la prima:
    codice:
    SQL = "SELECT Gare.CodiceGara, Gare.Data, Gare.TipoGara, Gare.CodiceGiornata, Gare.Denominazione, Gare.CodOrg, "
    SQL = SQL & "Campi.id_spec "
    SQL = SQL & "FROM Gare INNER JOIN Campi ON "
    SQL = SQL & "Gare.CodiceCampo = Campi.ID "
    SQL = SQL & "WHERE Gare.FlgCanc = False "
    SQL = SQL & "ORDER BY Gare.Data ASC, Gare.Denominazione ASC "
    con questa visualizzo la lista di tutte le gare

    la seconda:
    codice:
    SQL = "SELECT Gare.Data, Gare.TipoGara, Campi.ID_spec,  Gare.CodiceGara, Gare.Denominazione, Count(iscrizioni.CodiceGara) AS totale "
    SQL = SQL & "FROM iscrizioni INNER JOIN (Gare INNER JOIN Campi ON Gare.CodiceCampo = Campi.ID) ON iscrizioni.CodiceGara = Gare.CodiceGara "
    SQL = SQL & "GROUP BY Gare.Data, Gare.TipoGara, Campi.ID_spec, Gare.CodiceGara, Gare.Denominazione, Gare.CodiceGara "
    con la seconda dovrei visualizzare accanto ad ogni gara il numero degli iscritti.
    solo che con questa seconda query mi visualizza le gare solo se gli iscritti sono nella tabella iscrizioni.

    praticamente dovrei visualizzare tutta la lista delle gare e accanto la lista degli iscritti (che è nella tabella iscrizioni)

    grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prova a modificare l'inner join con una left join.
    Nel caso dovessi avere ancora problemi posta un dump d'esempio.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    niente da fare. Se sostituisco il primo inner mi da errore, se sostituisco il secondo mi visualizza sempre e solo le gare con iscritti, quindi non tutte le gare.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Come ti ho già scritto posta un dump delle tabelle affinchè chi legge possa fare una prova oppure, se si tratta di un file di access, caricalo qui

    http://www.myfreefilehosting.com/


  5. #5
    Ciao,

    la query corretta dovrebbe essere questa:

    SELECT Gare.CodiceGara
    , Gare.Data
    , Gare.TipoGara
    , Gare.CodiceGiornata
    , Gare.Denominazione
    , Gare.CodOrg
    , Campi.id_spec
    , Count(iscrizioni.CodiceGara) AS totale
    FROM Gare
    INNER JOIN Campi ON Gare.CodiceCampo = Campi.ID
    LEFT OUTER JOIN iscrizioni ON iscrizioni.CodiceGara = Gare.CodiceGara
    WHERE Gare.FlgCanc = False
    GROUP BY Gare.CodiceGara
    , Gare.Data
    , Gare.TipoGara
    , Gare.CodiceGiornata
    , Gare.Denominazione
    , Gare.CodOrg
    , Campi.id_spec
    ORDER BY Gare.Data ASC
    , Gare.Denominazione ASC


    Poi ovviamente te la devi mettere dentro la stringa SQL, io ho solo scritto la query.
    Se hai dubbi scrivi.
    Ciao
    Doriana

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.