Consulta do SQL Server - retorna o valor nulo se não houver correspondência
Eu estou correndo em um problema que não consigo descobrir por algum motivo. Eu estou tentando escrever uma consulta que une duas tabelas, em que uma correspondência não pode ser encontrada em uma tabela. Tal 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')
Se não houver correspondênciaTable2
, não está retornando nada. No entanto, eu preciso apenas retornar um NULL para essa coluna se não houver correspondência e ainda retornar o valor deTable1
.
Eu mudei oJOIN
com tudo que eu posso pensar, mas sem sucesso.
Table2.Category
pode conter vários outros valores, fazendo assimOR IS NULL
O tipo de acordo não funciona.
Então, se não houver correspondência paraTable2.Category = 'Foo'
Ainda estou precisando retornar:
Table1 | Table2
----------------
12345 | NULL
Alguma sugestão?