我要加入2个表(表A和表B),我希望它从表B返回匹配的结果。另外,如果没有可用的匹配结果,则返回空。
例如:
Select a.ID,a.Code,b.result
from Table A as a
LEFT JOIN table B as b on a.ID=b.codeid
Where a.Timestamp<'2019-07-01' and b.xx=xx
我现在得到:
我得到的样本数据:
ID Code Result
1 AS01 Pass
2 BXY Fail
....
我更喜欢
ID Code Result
1 AS01 Pass
2 BXY Fail
....
1000 DCY
在上面,如果特定的ID(例如:1000)在表B中没有任何条目,我什么也没得到。
但是我想为那1000个ID返回空的Result列。该怎么做?
答案 0 :(得分:2)
您在where
上进行的tableB
条件过滤会将您的left join
变成inner join
。将该条件直接放入join
:
SELECT a.ID, a.Code, b.result
FROM TableA a
LEFT JOIN tableB b ON a.ID = b.codeid
AND B.xx = xx
WHERE a.Timestamp < '2019-07-01'