Consulta de SQL Server: devuelve un valor nulo si no hay coincidencia

Estoy encontrando un problema que no puedo resolver por alguna razón. Estoy intentando escribir una consulta que une dos tablas, en las que no se puede encontrar una coincidencia en una tabla. Como:

SELECT 
    Table1.IDField, Table2.IDField
FROM 
    Table1
LEFT OUTER JOIN 
    Table2 ON Table1.PersonID = Table2.PersonID
WHERE 
    (Table1.IDField = '12345')
    AND (Table2.Category = 'Foo')

Si no hay coincidencia enTable2, no está devolviendo nada. Sin embargo, necesito que solo devuelva un valor NULL para esa columna si no hay coincidencia y todavía devuelva el valor deTable1.

He cambiado elJOIN con todo lo que puedo pensar, pero en vano.

Table2.Category puede contener varios otros valores, por lo que hacer unaOR IS NULL El tipo de trato no funcionará.

Entonces, si no hay rival paraTable2.Category = 'Foo', Todavía lo necesito para volver:

Table1 | Table2
----------------
 12345 |  NULL

¿Alguna sugerencia?

Respuestas a la pregunta(3)

Su respuesta a la pregunta