Запрос 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

Какие-либо предложения?

Ответы на вопрос(3)

Ваш ответ на вопрос