Hi,
also der LEFT JOIN funktioniert eigentlich ganz einfach, die Einschränkung auf bestimmte Datensätze kannst du entweder mit einer generellen WHERE-Klausel am Ende oder mit einem Subselect vor dem JOIN machen, wobei ich mir nicht sicher bin ob die DB2 das über ODBC durchlässt, bei Direktverbindungen macht sie es in jedem Fall:
Möglichkeit 1
SELECT tab1.feld3, tab2.feld3
FROM tab1
LEFT JOIN tab2
ON tab1.feld1 = tab2.feld1
WHERE tab1.feld2 = 'Wert'
AND tab2.feld2 = 'Gesucht'
Möglichkeit 2
SELECT a.feld3, b.feld3
FROM (
(SELECT feld1, feld3
FROM tab1
WHERE feld2 = 'Wert'
) a
LEFT JOIN
(SELECT feld1, feld3
FROM tab2
WHERE feld2 = 'Gesucht'
) b
ON a.feld1 = b.feld1
)
Wenn ich mich nicht irgendwo vertan habe sollten beide Abfragen das selbe Ergebnis liefern, es gibt genug Diskussionen ob Subselects nicht schlechter sind als "normale" Abfragen, bei uns in der Firma sind sie auf der DB2 standardmäßig im Einsatz und helfen bei massiv eingesetzten JOINs die Datenmengen zu reduzieren...
MfG
Rouven
-------------------
ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(