NON preoccuparti tu non hai bisogno di altre info. in sè la query è semplicissima...il count non c'entra, BASTA CHE TU SAPPIA CHE QUESTA:
codice:
SELECT immobili.*, tipo_immobile.ti_nome,
contratti.ct_nome, comuni.co_nome,
province.pr_nome, foto_immobili.FileSize,
COUNT(_ForeignKey) AS iNumFoto
FROM (((immobili
LEFT JOIN tipo_immobile ON im_tipo_immobile_id=IDTipo_immobile)
LEFT JOIN contratti ON im_contratto_id=IDContratto)
LEFT JOIN comuni ON im_comune_id = IDComune)
LEFT JOIN province ON (co_provincia_id = IDProvincia)
LEFT JOIN foto_immobili ON (IDImmobile = _ForeignKey)
GROUP BY (_ForeignKey)
mi restituisce tutti i record eccetto IDImmobile 7, mentre, la cosa che mi stupisce, se aggiungo alla medesima queryla clausola WHERE IDImmobile = 7, quindi in questo modo:
codice:
SELECT immobili.*, tipo_immobile.ti_nome,
contratti.ct_nome, comuni.co_nome,
province.pr_nome, foto_immobili.FileSize,
COUNT(_ForeignKey) AS iNumFoto
FROM (((immobili
LEFT JOIN tipo_immobile ON im_tipo_immobile_id=IDTipo_immobile)
LEFT JOIN contratti ON im_contratto_id=IDContratto)
LEFT JOIN comuni ON im_comune_id = IDComune)
LEFT JOIN province ON (co_provincia_id = IDProvincia)
LEFT JOIN foto_immobili ON (IDImmobile = _ForeignKey)
WHERE IDImmobile = 7
GROUP BY (_ForeignKey)
mi seleziona L'IDImmobile = 7!!
PS X RISPONDERTI: _ForeignKey è la chiave esterna (foto dentro a mysql) della tabella foto_immobili e si riferiscono all'IDImmobile, per cui COUNT(_ForeignKey) CONTA LE FOTO disponibili di ogni immobile...ed è l'unico join con corrispondenza 1 molti, gli altri mi servono solo per recuperare il nome del comune, del contratto e della provincia... (spero di aver spiegato esaurientemente:master: )