Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    15

    select e count con valore zero

    Salve a tutti! Vi chiedo una mano perché mi sono incartato...
    Ho due tabelle, una è Ristoranti (id, nome, provincia, comune, anno_eliminazione) e l'altra è Province. Ho una query che mi restituisce un elenco di province e mi conta i ristoranti per quelle prvince che sono stati eliminati (le recensioni di una guida ristoranti) nel 2009. Il problema è che le province con ristoranti eliminati = 0 non compaiono. Come ne esco?

    SELECT Ristoranti.provincia, COUNT(*) AS Eliminati_per_Prov
    FROM Ristoranti
    WHERE Ristoranti.anno_eliminazione=2009
    GROUP BY Ristoranti.provincia
    ORDER BY 2 DESC;

    Ma appunto in due province il valore sarebbe zero ma non me le visualizza.

    Grazie a chi ma dà qualche dritta.
    PS: credo serva una join ma non succede nulla.

  2. #2
    se tu interroghi SOLO i ristoranti, come fa il poveraccio a sapere quali sono le province vuote? Devi mettere in JOIN anche la tabella PROVINCE (in LEFT JOIN)

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    15
    Innanzitutto grazie per l'intervento.

    Dici che una cosa del genere potrebbe andare?

    SELECT Ristoranti.provincia, COUNT(*) AS Eliminati_per_Prov
    FROM Ristoranti
    LEFT JOIN Province ON Ristoranti.provincia=Province.provincia
    WHERE Ristoranti.anno_eliminazione=2009
    GROUP BY Ristoranti.provincia
    ORDER BY 2 DESC;

  4. #4
    1. prova
    2. metterei la tabella province a sinistra (left join...)

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    15
    Mi restituisce lo stesso elenco senza le prov con zero. Sono in pieno stallo.

  6. #6
    fa' vedere cosa hai scritto

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    15
    SELECT Ristoranti.provincia, COUNT(*) AS Eliminati_per_Prov
    FROM Ristoranti
    LEFT JOIN Province ON Province.provincia=Ristoranti.provincia
    WHERE Ristoranti.anno_eliminazione=2009
    GROUP BY Ristoranti.provincia
    ORDER BY 2 DESC;

  8. #8
    province è ancora a destra...


    FROM Province
    LEFT JOIN Ristoranti

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    15
    Può essere? Perché non va...

    SELECT Ristoranti.pr, COUNT(*) AS Eliminati_per_Prov
    FROM Province
    LEFT JOIN Ristoranti ON Province.pr = Ristoranti.pr
    WHERE [Ristoranti].[anno_eliminazione]=2009
    GROUP BY [Ristoranti].[pr]
    ORDER BY 2 DESC;

  10. #10
    SELECT Province.pr, COUNT(*) AS Eliminati_per_Prov

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