Götz: (MySQL) Problem bei Abfrage über mehrere Tabellen (Klaus)

Beitrag lesen

Hallo Klaus,

der ursprüngliche Thread scheint verschwunden, deswegen antworte ich auf Deine Frage einfach mit einem neuen Thread.

select a.*,b.vorname as erf_vorname,b.name as erf_name,c.vorname as b_vorname,c.name as b_name from haupttabelle as a left join personen as b on a.erfasser = b.personalnummer left join personen as c on a.bearbeiter = c.personalnummer

Wie kann ich die Abfrage dahingehend abändern, dass nur der erste gefundene genommen wird oder die Suche erst gar nicht durchgeführt wird, wenn Bearbeiter noch Null enthält?

Laut MySQL Manual kann nach ON eine "conditional expression" stehen. Somit sollte es möglich sein den letzten Teil "left join personen as c on a.bearbeiter = c.personalnummer" zu erweitern, und "c.personalnummer IS NOT NULL" mit in die Join-Bedingung aufzunehmen.
Ich bin mir allerdings gerade nicht ganz sicher, ob das wirklich das ist, was Du willst.

Grüße aus Stockholm,
Götz

--
Losung für Mittwoch, 16. April 2008
Der HERR ist mein Licht und mein Heil; vor wem sollte ich mich fürchten? (Psalm 27,1)
Ihr seid teuer erkauft; werdet nicht der Menschen Knechte. (1.Korinther 7,23)
(zur aktuellen Losung)