使用具有多个文件连接的SQL删除一个文件中的记录

时间:2016-03-17 17:03:57

标签: sql join sql-delete

我运行以下查询以确认此查询的结果是我要从YCSEFMST中删除的记录。

select * from libr/yacctmst
         join libr/ycsefmst on ctctcd = efctcd
         join libr/ycsiamst on upper(efmail) = upper(iaaddr)
where ctbkng = 'MDE'

字段ctctcd和ctbkng来自文件yacctmst。 字段efctcd来自ycsefmst。 字段iaaddr来自ycsiamst。

我现在如何使用此语句删除文件YCSEFMST中的记录?

我尝试了以下语句,它删除了YCSEFMST中的每条记录。

delete libr/ycsefmst
where exists ( select * from libr/ycsefmst
                        join libr/yacctmst on ctctcd = efctcd
                        join libr/ycsiamst on upper(efmail) = upper(iaaddr)
               where ctbkng = 'MDE' )    

感谢任何帮助!

谢谢你, 戴安娜

1 个答案:

答案 0 :(得分:0)

您可以这样做:

Delete from libr/ycsefms Where ID IN
select ID from libr/yacctmst
         join libr/ycsefmst on ctctcd = efctcd
         join libr/ycsiamst on upper(efmail) = upper(iaaddr)
where ctbkng = 'MDE'

显然,您需要将ID替换为要用作唯一标识符的列名。