Запрос SQL Server - возвращает нулевое значение, если нет совпадения
Я столкнулся с проблемой, которую не могу понять по какой-то причине. Я пытаюсь написать запрос, который объединяет две таблицы, в которых совпадение не может быть найдено в таблице. Такие как:
SELECT
Table1.IDField, Table2.IDField
FROM
Table1
LEFT OUTER JOIN
Table2 ON Table1.PersonID = Table2.PersonID
WHERE
(Table1.IDField = '12345')
AND (Table2.Category = 'Foo')
Если нет совпадений вTable2
Это ничего не возвращает. Тем не менее, мне нужно просто вернуть NULL для этого столбца, если нет совпадения и по-прежнему вернуть значение изTable1
.
Я изменилJOIN
со всем, что я могу придумать, но безрезультатно.
Table2.Category
может содержать несколько других значений, поэтому делатьOR IS NULL
тип сделки не будет работать.
Итак, если нет совпадения дляTable2.Category = 'Foo'
Мне все еще нужно, чтобы вернуться:
Table1 | Table2
----------------
12345 | NULL
Какие-либо предложения?