请帮助编写一个更好的删除查询。DB2在合并中没有“未按源匹配”。需要从源文件中删除与某个ID的代码不匹配的行,并且只需要删除源文件中存在该ID的行。
delete from target
where ID in ( select ID from source)
and
ID concat Code NOT in ( Select S.ID concat S.Code from source S)
样本数据
target source
ID code ID code
1 ABC 1 ABC
1 DEF 1 DEF
1 IJK
2 ABC
2 XYZ
需要从目标中单独删除值ID=1 & code=IJK行
1条答案
按热度按时间afdcj2ne1#
您可以执行:
结果:
请参阅db<>fiddle上的运行示例。
我确信可以使用
DELETE
&JOIN
或使用EXISTS
而不是IN
来压缩语法,但这个示例应该是一个很好的解决方案。