簡體   English   中英

比較兩個不同表中的兩列

[英]Comparing two columns in two different tables

我有兩個表AB ,其中表A有一列X ,表B有列Y 這些列包含帳號信息。 我想檢查BY列中是否存在列AX的帳號信息。

注意:列XY都可以有重復項,因為它們類似於復合主鍵。

我怎么能解決這個問題?

這將為您提供表A中的帳戶信息,該信息也存在於表B 檢查由相關子查詢完成,該子查詢檢查A每一行是否存在B的帳戶信息。

SELECT DISTINCT
    X
FROM
    A
WHERE
    EXISTS (
        SELECT
            *
        FROM
            B
        WHERE
            B.Y=A.X
    );

您可以使用INNER JOIN ,如下所示:

 SELECT * 
 FROM table1 a 
 INNER JOIN table2 b 
 ON a.X = b.Y

要么

你可以去IF EXISTS ,像這樣:

SELECT *
FROM table1 a
WHERE EXISTS(
              SELECT 1
              FROM table2 b
              WHERE a.x=b.Y )

選擇不同(X)
來自A,B
WHERE AX = BY

這將為您提供A中不在B中的帳號列表:

SELECT X FROM (
    SELECT DISTINCT X FROM A
) A
LEFT JOIN B ON Y = X
WHERE Y IS NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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