根据另外两个表列从一个表中删除?

时间:2014-05-01 19:44:08

标签: sql

我有3个表:t1,t2,t3

t1有一列:AccountID

t2列:AccountID,剩余,StatusID,DueDate

t3列:AccountID,剩余,StatusID,DueDate

这是我的问题:

我只需删除t1表中的所有行,如果t2.Remaining = 0 AND t3.Remaining = 0

任何人都可以帮助兄弟吗?我将非常感激,并将通过upvote /转发你的状态/喜欢你的Facebook页面/给你钱来遵循最佳答案。虽然HAHA j / k还有钱。

1 个答案:

答案 0 :(得分:0)

从t1中删除t1中有行的所有行,t3中剩余的所有行等于0.如果存在外键约束,则假定它是级联的,因此t2和t3中的所有相应行将自动成为也被删除了。

DELETE FROM t1
WHERE EXISTS
    (SELECT * FROM t2 WHERE t1.AccountId = AccountID AND Remaining = 0)
AND EXISTS
    (SELECT * FROM t3 WHERE t1.AccountId = AccountID AND Remaining = 0);
相关问题