以下是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)
并且重申一下,我希望输出是最初的样本行。
答案 0 :(得分:4)
根据您的问题,您可以使用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);
但是,根据您提供的示例代码,您似乎正在寻找NOT EXISTS条件:
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);
答案 1 :(得分:1)
您可以使用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