Db2

一次將列中的一個值與另一列中的所有值進行比較 SQL/DB2

  • April 30, 2020

我有三列,如下所示。從第 3 列中提取其他列中不同的所有值的最佳方法是什麼?結果應返回 2、7 和 9,因為它們僅在第 3 列中。

Column 1 |  Column 2  | Column 3
---------|------------|---------
1        |    5       |     1
3        |    4       |     2
1        |    5       |     7
4        |    6       |     9

我嘗試 not in (Column 1, Column 2)了方法,但它只按行檢查,我需要它在第 3 列中取第一個值,並與 1 和 2 中的整個列進行比較……

你想要一個NOT EXISTS條件:

select t1.c3
from the_table as t1
where not exists (select *
                 from the_table t2
                 where t1.c3 in (t2.c1, t2.c1));

線上範例

引用自:https://dba.stackexchange.com/questions/266184