ciao, io ho tre tabelle:

user
|id|nome|cognome|

hobby
|id|id_user|nome_hobby|

luogo
|id|id_hobby|nome_luogo|tipo|

ogni user può avere infiniti hobby, e ogni hobby può avere infiniti luoghi di svolgimento.. il tipo luogo può essere 1 o 0, starebbe per 'all'aperto' o 'al chiuso'

ad esempio:

user
|1|pippo|bianchi

hobby
|1|1|calcio|
|2|1|tennis|

luogo
|1|1|Modena|0|
|2|1|Bologna|1|

ora, io dovrei listare tutti gli user e i relativi hobby, con il numero di luoghi per ogni hobby, ed ho risolto così:

Codice PHP:
SELECT hobby.idhobby.nome_luogoCOUNTluogo.id ) AS numLuoghi
FROM hobby
LEFT JOIN luogo ON 
hobby.id luogo.id_luogo )
WHERE hobby.id_user '$id_user'
GROUP BY luogo.id 
e funziona, però avrei bisogno che mi restituisse anche gli hobby che non hanno luoghi impostati, cioè numLuoghi = 0..
poi avrei bisogno di una query simile che mi prende solo gli hobby che non hanno luoghi associati..