gpt4 book ai didi

sql - 如何返回没有公共(public) ID 的另一个表中尚不存在的行

转载 作者:行者123 更新时间:2023-12-02 01:53:57 24 4
gpt4 key购买 nike

我是 SQL 新手,请耐心等待。

我有 2 张 table :

表1:

Col1    Col2     ColXX    ColYY     IsDisplay
---------------------------------------------
NULL AA NULL AA 1
BBB CCC QQ QQ 1
DDD EEE QQ QQ 1
1F 2G WW WW 0
1H 1H SS NULL 1

表2:

ID      Col1     Col2    Sold    Total    TotalPax
-------------------------------------------------------
1 BBB CCC 10 10 1
1 DDD EEE 10 10 1
1 1H 1H 5 50 10
1 NULL AA 5 50 10

正如您所看到的,在这两个表中,唯一的公共(public)列是 Col1 和 Col2。鉴于此。

我需要获取表 1 中 ColXX 和 ColYY 的唯一数据,这些数据在表 2 中不存在。对于本例:

     ColXX    ColYY   
----------------
QQ QQ
WW WW
SS NULL

我不知道该怎么做。有人可以帮助我吗?谢谢

示例数据: http://sqlfiddle.com/#!18/92640/15

最佳答案

使用LEFT JOINIS NULL

SELECT *
FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.col1 = t2.col1 AND t1.col2 = t2.col2
WHERE t2.id IS NULL

仔细查看您的数据和示例,我认为您需要这个:

SELECT DISTINCT ColXX, ColYY
FROM table1 t1
LEFT JOIN table2 t2 ON
ISNULL(t1.ColXX, '') = ISNULL(t2.Col1, '')
AND ISNULL(t1.ColYY, '') = ISNULL(t2.Col2, '')
WHERE ISNULL(t2.ID, '')=''

关于sql - 如何返回没有公共(public) ID 的另一个表中尚不存在的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69850490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com