从序列中查找丢失的记录

时间:2019-08-26 19:45:42

标签: sql netezza

我需要在表中找到丢失的记录。 表1:

ID|Num
X|1
X|2
X|3
X|4
Y|1
Y|3
Y|5

表2:

Num
1
2
3
4
5

我需要返回:

ID |数字

X | 5

Y | 2

Y | 4

我找到了其他可以给我5,2,4的解决方案,但我还需要与丢失的记录关联的ID。

1 个答案:

答案 0 :(得分:2)

如果您要缺少数字,请使用cross join生成所有数字,然后过滤掉存在的数字:

select i.id, t2.num
from (select distinct id from t1) i cross join
     table2 t2 left join
     t1
     on t1.id = i.id and t1.num = t2.num
where t1.id is null;