我遇到了一个由于某种原因我无法弄清楚的问题。我正在尝试编写一个连接两个表的查询,其中可能在表中找不到匹配项。如:
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
有什么建议么?