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

Deleting records in one file using SQL with multiple file joins

我运行下面的查询来确认这个查询的结果是我想从 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' )    

感谢任何帮助!

谢谢, 戴安娜

你可以这样做:

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 替换为要用作唯一标识符的列名。