Kjorni: mysql: Problemchen mit left join

Beitrag lesen

Hi,

Kann ich bei einem Left Join auch mit Where-Klausel arbeiten?

Also:

  
select DISTINCT  
         r.ID,  
         r.Name,  
	 ...  
         z.zahl  
         from table1 r  
	 LEFT JOIN table2 z  
	 ON r.ID = z.ID  
         WHERE  
         z.zahl = 0 // <--  

Table1:
ID - Name - usw.

Table2:
ID - usw. - zahl

Es geht also darum,

  1. alle Einträge der Table1 in die Ergebnissmenge einzubeziehen, zu der es in Table2 keinen Eintrag gibt und

  2. zu der es in Table2 zwar einen Eintrag gibt, dieser aber in der Spalte 'zahl' den Wert 0 hat.

Das aber erreicht obige Query natürlich nicht.

Ohne den Zusatz "WHERE z.zahl = 0" könnte ich in einer anschließenden Schleife in php abfragen, ob die Spalte 'zahl' den Wert 1 oder 0 hat.

Geht das auch in einer einzigen Query?

Grüße, Kjorni