我目前正在尝试编写 SQL 来验证已从一个应用程序迁移到另一个应用程序的数据计数。
正在迁移的主表之一有时包含目标应用程序中已存在的主键,因此需要对其进行更改。这导致我的计数不匹配。
我有这些更改的主键的参考表,但我不确定如何将此参考表合并到我的左连接中。
我真的不知道如何包含表 A 中的键可能是表 B 上的键或存储在参考表中的新键的条件?
select count(*)
from table_b b
left join table_a a on
b.key = a.key
where a.key is null;
参考表真的很简单,两个列,old_number,new_number。它将仅包含在将表 A 中的键加载到表 B 之前需要更改的条目。
old_number, new_number
12345678, 13345678
23456781, 24456781
我怎样才能包括这种情况?
select count(*)
from table_b b
left join table_a a on
b.key = (a.key or new_number if it exists)
where a.key is null;
因此,如果查询可以在引用表中包含 new_numbers,那么迁移计数应该与表 A 中的计数匹配。