很抱歉再次删除相同的记录大惊小怪,但我找不到任何解决方案:(
我需要这样的东西:
如果从表 1 中选择 3 列值
NOT 等于表 2 中的相同选择
比从表 2 中删除记录
这是我的方法:
DELETE FROM table2
INNER JOIN table1
ON table2.basketid = table1.basketid AND
table2.artid = table1.artid
WHERE table1.userid='007'
DELETE FROM table2
WHERE NOT EXISTS (
SELECT basketid, artid
FROM table1
)
AND userid ='007'
感谢您的帮助或任何建议!!
最佳答案
您可以在 SQL Server 中执行此操作
DELETE t2
FROM Table2 t2
WHERE NOT EXISTS ( SELECT 1
FROM Table1 t1
WHERE t1.basketid = t2.basketid
AND t1.artid = t2.artid )
AND t2.userid = '007'
注意选择中的过滤器,它比较表 2 和表 1 中的值
如果 userid 也在表 2 中,您可能还想将其添加到 WHERE 中
DELETE t2
FROM Table2 t2
WHERE NOT EXISTS ( SELECT 1
FROM Table1 t1
WHERE t1.userid = t2.userid
AND t1.basketid = t2.basketid
AND t1.artid = t2.artid )
AND t2.userid = '007'
关于mysql - SQL - 如果相同的记录不在表 Y 中,则从表 X 中删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37172335/