从序列中查找缺失的记录
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;
我需要在 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;