Tabela inwestycja:
id,id_miejscowosc
Tabela miejscowosc:
id,miejscowosc
I teraz chcialem pobrac wszystkie rekordy z bazy miejscowosc i do nich zliczyć ilość wystąpień w tablicy inwestycja.
Przy zapytaniu:
SELECT miejscowosc.miejscowosc, inwestycja.id FROM miejscowosc LEFT JOIN inwestycja ON miejscowosc.id = inwestycja.id_miejscowosc ORDER BY miejscowosc.miejscowosc COLLATE utf8_polish_ci
otrzymuje wynik:
miejscowosc, id
Dobrzykowice NULL
Domosław NULL
Iwiny NULL
Karwiany 8
Mędłów NULL
Mirków NULL
Nadolice Wielkie NULL
Ramiszów NULL
Siechnice NULL
Ślęza NULL
Wrocław 1
Wrocław 2
Wrocław 3
Wrocław 4
Wrocław 5
Wrocław 6
Wrocław 7
Wysoka NULL
A teraz chciałem zrobić to samo ale właśnie zliczyć tylko ilość wystąpień dla poszczególnej miejscowości:
Zapytanie:
SELECT miejscowosc.miejscowosc, COUNT( inwestycja.id_miejscowosc ) AS ilosc_inwestycji_w_miejscowosc FROM miejscowosc LEFT JOIN inwestycja ON miejscowosc.id = inwestycja.id_miejscowosc GROUP BY inwestycja.id_miejscowosc ORDER BY miejscowosc.miejscowosc COLLATE utf8_polish_ci
Otrzymuje wynik:
miejscowosc, ilosc_inwestycji_w_miejscowosc
Dobrzykowice 0
Karwiany 1
Wrocław 7
Tu moje pytanie co zrobić aby dostać pełna tabele miejscowosc i jezeli dla tej pozycji nie ma nic w tabeli inwestycja wyniku NULL ?
Gdzie popełniam błąd ?