如果在第二张表中也没有条目,则返回行吗?

时间:2019-09-09 06:14:11

标签: sql sql-server

我要加入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列。该怎么做?

1 个答案:

答案 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'