- Home
- Categorie
- Coding e Sistemistica
- Coding
- Left join
- 
							
							
							
							
							
Left joinSalve a tutti, spiego in sintesi il problema:
 tabella 1 "utente"IDUtente 
 Nome
 RIDRegionetabella 2 "regione"IDRgione 
 RegioneHo 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 BYRIDRegione
 ORDER BY totale DESCVorrei 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
 
- 
							
							
							
							
							Ciao Huck, devi invertire le tabelle nelle query, facendo from regione e dopo un join con gli utenti. 
 
- 
							
							
							
							
							
@Thedarkita said: Ciao Huck, devi invertire le tabelle nelle query, facendo from regione e dopo un join con gli utenti. Intanto grazie, 
 funziona, ma ne visualizza solo una di quelle non legate alla tabella utenti, la prima che trova e poi basta, sai come mai?
 
- 
							
							
							
							
							
A posto, la query è 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 BYRegione
 ORDER BY totale DESCGrazie del tuo aiuto