联合两个表,显示一个表中的记录,其中另一个表中没有相应的值

时间:2017-01-25 19:33:39

标签: sql join sql-server-2012

所以我有两个表,我试图在一个表中显示记录,但在另一个表中没有相应的值....

tbl1

ClientNo      DateRec       CompID
123           1/2/2017      5558
124           1/3/2017      5558
234           1/3/2017      5558


tbl2
ClientNO      CompID
123           5558
124           5558

所以这里的eveerything基于CompID = 5558.这是一个神奇的数字。我想加入两个表,只显示来自tbl1的记录 - 其中tbl2没有相同clientID和5558的记录。

期望的最终结果:

 ClientNo      DateRec       CompID
 234           1/3/2017      5558

这是我期望的最终结果,因为客户端234在tbl2中没有相同的CompID。所以我的去处只显示来自tbl1的记录,其中tbl2没有相同的CompID(在本例中为5558)

1 个答案:

答案 0 :(得分:2)

您已经描述了not exists

select t.*
from tbl1 t
where not exists (select 1 from tbl2 t2 where t2.ClientNo = t.ClientNo and t2.CompId = t.CompId);