SQL:如何在 2 列中查找重复项
SQL: How to find duplicates across 2 columns
我想 return 'duplicate' 或 'not duplicate' 用于 A 列中出现在同一 table 中的 B 列中的值。示例如下:
Column A
Column B
Column C
3
1
duplicate
2
4
not duplicate
5
3
not duplicate
我该怎么做?
我们可以在这里尝试使用存在的逻辑:
SELECT
ColumnA,
ColumnB,
CASE WHEN EXISTS (SELECT 1 FROM yourTable t2 WHERE t2.ColumnB = t1.ColumnA)
THEN 'duplicate' ELSE 'not duplicate' END AS ColumnC
FROM yourTable t1;
加入就是解决方案
SELECT columnA, columnB, case when t2.columnB is not null then 'duplicate' else 'not duplicate' end as columnC
FROM table1 t1 left join table1 t2 on t1.columnA = t2.columnB
我想 return 'duplicate' 或 'not duplicate' 用于 A 列中出现在同一 table 中的 B 列中的值。示例如下:
Column A | Column B | Column C |
---|---|---|
3 | 1 | duplicate |
2 | 4 | not duplicate |
5 | 3 | not duplicate |
我该怎么做?
我们可以在这里尝试使用存在的逻辑:
SELECT
ColumnA,
ColumnB,
CASE WHEN EXISTS (SELECT 1 FROM yourTable t2 WHERE t2.ColumnB = t1.ColumnA)
THEN 'duplicate' ELSE 'not duplicate' END AS ColumnC
FROM yourTable t1;
加入就是解决方案
SELECT columnA, columnB, case when t2.columnB is not null then 'duplicate' else 'not duplicate' end as columnC
FROM table1 t1 left join table1 t2 on t1.columnA = t2.columnB