从序列中查找缺失的记录

Find missing records from sequence

我需要在 table 中找到丢失的记录。 Table1:

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

Table 2:

Num
1
2
3
4
5

我需要 return:

编号|编号

X|5

Y|2

Y|4

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

如果您想要缺失的数字,请使用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;