SQL Server-Abfrage - Nullwert zurückgeben, wenn keine Übereinstimmung vorliegt
Ich habe ein Problem, das ich aus irgendeinem Grund nicht herausfinden kann. Ich versuche, eine Abfrage zu schreiben, die zwei Tabellen verknüpft, in denen möglicherweise keine Übereinstimmung in einer Tabelle gefunden wird. Sowie:
SELECT
Table1.IDField, Table2.IDField
FROM
Table1
LEFT OUTER JOIN
Table2 ON Table1.PersonID = Table2.PersonID
WHERE
(Table1.IDField = '12345')
AND (Table2.Category = 'Foo')
Wenn es keine Übereinstimmung in gibtTable2
Es gibt nichts zurück. Es muss jedoch nur ein NULL-Wert für diese Spalte zurückgegeben werden, wenn keine Übereinstimmung vorliegt, und der Wert von wird trotzdem zurückgegebenTable1
.
Ich habe das geändertJOIN
mit allem, was mir einfällt, aber ohne Erfolg.
Table2.Category
kann mehrere andere Werte enthalten, also aOR IS NULL
Art von Deal wird nicht funktionieren.
Also, wenn es keine Übereinstimmung für gibtTable2.Category = 'Foo'
Ich brauche es immer noch, um zurückzukehren:
Table1 | Table2
----------------
12345 | NULL
Irgendwelche Vorschläge?