Buongiorno a tutti e buon anno!
Ho una query SQL decisamente complessa, ora cercherò di ridurla un po'.
Lo scenario è il seguente:
1) tabella "utenti" con "id", "nome", "regione", "provincia", "comune" questi 3 numerici
2) tabella "regioni"
3) tabella "province"
4) tabella "comuni"
5) tabella "sport" con "id" e "sport"
6) tabella "relazioni" con "id_user" e "id_sport", questo perchè per normalizzare il DB un utente può fare più sport.
La prima parte di SQL viene bene, dove da numerici le regioni//province//comuni le faccio diventare testuali
codice:
SELECT id, nome, regioni.regione AS regione_testo, province.provincia AS provincia_testo, comuni.comune AS comune_testo FROM utenti,
INNER JOIN regioni ON ristoranti.regione = regioni.id
INNER JOIN province ON ristoranti.provincia = province.id
INNER JOIN comuni ON ristoranti.comune = comuni.id
WHERE utenti.id = 1
E quindi come immaginate stampo una tabella coi noi delle regioni//province//comuni invece degli ID.
Ora vorrei unire, alla tabella di cui sopra, anche gli sport che un utente fa, pero' gli sport possono essere anche più di uno o zero.
E già da qui mi viene il dubbio. Se un utente fa N (dove N è >1) , la inner join mi stampa più righe con lo stesso utente.id ? o non è la cosa corretta?
Vi chiedo un grandissimo favore se potreste aiutarmi... grazie mille....