Hi,
ich habe ein Problem mit einem
SQL-Statement.
Code:
Select e.*, count(b.guid) as bilder from ersatzfzg as e left join bilder as b on e.kennzeichen=b.kennzeichen where e.betriebguid='{D30C179A-E8D8-41B5-937E-82DE8F55072C}' and e.aktiv=1 order by e.ID
Soll alle Felder der Tabelle "ersatzfzg", und zusätzlich ein Feld mit der Anzahl hinterlegter Bilder aus der Tabelle "bilder", liefern.
Die Tabelle "ersatzfzg" umfasst 9 Datensätze (alle im Feld "aktiv" = 1).
In der Tabelle Bilder sind 2 Datensätze.
Wenn nun keines der Kennzeichen in Tabelle "bilder" gefunden wird, wird lediglich der 1. Datensatz zurück geliefert.
Wenn ich einen Datensatz in "erstazfzg" hinzufügen, wo dann das Kennzeichen zu denen in der Tabelle "bilder" passt, wird nur dieser neue Datensatz zurückgeliefert.
Benötigen würde ich jedoch alle Datensätze aus der Tabelle "ersatzfzg" wo aktiv=1 ist und die betriebguid passt, und halt wenn keine Datensätze in der Tabelle "bilder" gefunden werden, dann halt eine 0 geliefert wird.
So wie ich left join verstanden habe, sollte das so eigentlich funktionieren. Oder macht man das anders?