我有表A,其中包含以下值:
+------+------+ | ID1 | ID2 | +------+------+ | 1689 | 1709 | | 1709 | 1689 | | 1782 | 1709 | | 1911 | 1247 | | 1247 | 1468 | | 1641 | 1468 | | 1316 | 1304 | | 1501 | 1934 | | 1934 | 1501 | | 1025 | 1101 | +------+------+
和另一种关系(表B)具有以下值:
+------+------+ | ID1 | ID2 | +------+------+ | 1641 | 1468 | | 1911 | 1247 | +------+------+
我想删除表B中出现的表A中的所有行(与ID1和ID2完全匹配).理论上似乎很简单,但我对EXISTS声明或其他方法并不满意.我正在使用SQLite.
任何建议都非常感谢.
Duk*_*ing 26
怎么样:(不太确定这是否适用于SQLite)
DELETE FROM TableA
WHERE EXISTS (SELECT *
FROM TableB
WHERE TableB.ID1 = TableA.ID1
AND TableB.ID2 = TableA.ID2)
Run Code Online (Sandbox Code Playgroud)