根据两个表删除行

问题描述 投票:0回答:2

我有一个问题,我有一个主表另一个表。我有一个表(Accidents),名为Accident_ID的属性(值类似于这个1,4,7,10等等)

在其他名为伤亡的表中,我有相同的属性Accident_ID(但这里的值如下1,2,2,4,4,4,5,6,7,8,9,10,11等) 。 =>有几个相同的ID,因为每个事故可能有更多的伤亡。

问题是我如何删除表伤亡线,表中没有与表事故中相同的ID-s(所以我想删除表伤亡中的行ID-s 2,3,5,6,8,9 ,11等)=>我有100k ID-s所以我不能手动。

谢谢你的帮助。

pentaho kettle data-integration pentaho-data-integration
2个回答
-1
投票

使用Merge Diff步骤。它比较两个流(或表)并告诉添加,删除,修改或相同的行。然后Filter你不想要的行。


0
投票

你不需要PDI来做到这一点。一个简单的SQL查询可以解决您的问题。

DELETE FROM Casualties WHERE Accident_ID NOT IN (SELECT DISTINCT Accident_ID FROM Accidents)
© www.soinside.com 2019 - 2024. All rights reserved.