[MySQL] Problem mit nicht gefundenen Datensätzen...

pxlArtizzt

Erfahrenes Mitglied
Hallo!

Ich habe 2 Tabellen, bg und beobachtungen. In bg stehen Beobachtungsgebiete drin (Name, Stadt, Land, Bezirk, Größe etc.) und in Beobachtungen natürlich Beobachtungen. Diese wird mit dem Schlüssel bg_id mit der Tabelle bg verknüpft.

Ich möchte nun mit einer Abfrage folgendes realisieren: Es sollen Beobachtungsgebiete aus bg gesucht werden (je nach Abfrage) und zeitgleich die Anzahl der Beobachtungen aus dem jeweiligen Gebiet gefunden werden.

Ich habe bisher folgendes:

select t1.id, t1.name, t1.stadt, t1.plz, t1.groesse, count(t2.id) as beob from bg as t1, beobachtungen as t2 where (t1.staat = "1") && (t2.bg_id = t1.id) group by t1.id

Problem hierbei: Es werden mir keine Gebiete zurückgegeben, in denen sich KEINE Beobachtungen befinden. Weiß jemand weiter?

Danke schonmal...
 
Dazu benötigst Du einen LEFT JOIN:
Code:
select 
t1.id, 
t1.name, 
t1.stadt, 
t1.plz, 
t1.groesse, 
count(t2.id) as beob 
from bg as t1 LEFT JOIN 
beobachtungen as t2 ON (t2.bg_id = t1.id)
where (t1.staat = "1") group by t1.id
 

Neue Beiträge

Zurück