LEFT JOIN | La nostra community

Topic: Pubblico - Composto da 2 Posts di 1 Utente.

03 Maggio, 2010 11:38 #1
Huck
Utente

Huck
Registrato: May, 2010
Posts: 9
Offline

Salve a tutti, spiego in sintesi il problema:

tabella 1 “utente” -—- IDUtente Nome RIDRegione

tabella 2 “regione” -—- IDRgione Regione

Ho utilizzato la seguente query:

SELECT r.Regione, count( u.RIDRegione ) AS totale FROM utente AS u LEFT JOIN regione AS r ON u.RIDRegione = r.IDRegione WHERE u.IDUtente >1 GROUP BY `RIDRegione` ORDER BY totale DESC

Vorrei visualizzare tutte le regioni, con accanto il numero totale di relativi iscritti. Sono riuscito a visualizzare solo le regioni che hanno occorrenza nella tabella “utente”, ma non riesco a visualizzare le restanti regioni con accanto 0 come risultato. Potete aiutarmi?

Grazie in anticipo

03 Maggio, 2010 16:57 #2
Huck
Utente

Huck
Registrato: May, 2010
Posts: 9
Offline

A posto, la query giusta è questa:

SELECT r.Regione AS reg, count( u.RIDRegione ) AS totale FROM utente AS u RIGHT JOIN regione AS r ON u.RIDRegione = r.IDRegione WHERE r.Regione != ‘Non definita’ GROUP BY `Regione` ORDER BY totale DESC

Grazie comunque

Condividi su:

Loggati o Registrati per replicare