使用where子句从另一个数据库中不存在的地方删除

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

我有3个数据库,主数据库和2个用于不同计算机(client1,clinet2)的数据库,如下所示。enter image description here

我正在使用一个查询,该查询将来自客户端的数据插入主数据库,如上图所示。我想要的是客户端1从其本地数据库中删除一条记录时,该记录也会从主数据库中删除,所以我想要这样的东西:

delete from MainDB.transactions where not exists (select * from client1.transactions) and MainDB.transactions.source=clien1.info.source

我需要这个,因为我正在使用计时器进行不同的查询。因此,它将每隔10分钟检查一次MainDB,如果通过Internet与MainDB建立了连接,则查询将被执行。请帮忙。

sql sql-server sql-delete
1个回答
0
投票

确定,我设法使用此代码解决了我的问题:

    DELETE FROM MainDB.Transactions as a 
WHERE (source = (SELECT source FROM info))
 AND (NOT EXISTS (SELECT source,invoice,total FROM clinet1.transactions AS b
 WHERE (a.source = source) AND (a.invoice = invoice) and (a.total=total))

谢谢大家。

© www.soinside.com 2019 - 2024. All rights reserved.