![](/img/trans.png)
[英]Left join a subset of TableA with TableB, but keeping all of the rows from TableA
[英]How to select all rows from tableA where two correlating columns in tableB are identical to the ones in tableA
这是在tableA和TableB中都找到的示例行:
col1 col2 col3
123 | asdf | ddd
我打算尝试使用CTE来检索此值,但是我一次只能使它与一列一起工作。
这是我到目前为止的东西,但是现在我很沮丧。
;with cte as (
SELECT A.col1
,A.col2
FROM tableA A
)
select col1, col2 from cte where col1, col2
not in (select col1, col2 from FHU.dbo.HolidayCallers)
只是重申一下,我希望输出结果是原始的样本行。
根据您的问题,您可以使用EXISTS查找两个表中相关列所在的行。
SELECT a.ConversationID, a.SendDateUtc
FROM tableA a
WHERE EXISTS(SELECT NULL
FROM FHU.HolidayCallers hc
WHERE a.ConversationID = hc.ConversationID
AND a.SendDateUtc = hc.SendDateUtc);
但是,根据您提供的示例代码,您似乎正在寻找“不存在”条件:
SELECT a.ConversationID, a.SendDateUtc
FROM tableA a
WHERE NOT EXISTS(SELECT NULL
FROM FHU.HolidayCallers hc
WHERE a.ConversationID = hc.ConversationID
AND a.SendDateUtc = hc.SendDateUtc);
您可以使用INNER JOIN
查找两个表中的记录:
SELECT a.ConversationID, a.SendDateUtc
FROM tableA AS a
INNER JOIN FHU.dbo.HolicayCallers AS hc ON a.ConversationId = hc.ConversationId
AND a.SendDateUtc = hc.SendDateUtc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.