簡體   English   中英

如何從表A中選擇所有行,其中表B中的兩個相關列與表A中的相關列相同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM