在SQLite中,如何删除一个表中与另一表中的索引对应的行

时间:2019-07-10 20:42:49

标签: sqlite

我有两个表A和B。A包含整个数据。 B仅包含应删除的索引。如何删除A中具有与B中相同索引的相应数据。

例如, A是像这样的表:

TABLE A

B是一个像这样的表:

TABLE B

我应该删除A中具有所有(x,y)对的行 并使A看起来像这样:

OUTPUT

3 个答案:

答案 0 :(得分:1)

在MySQL中(因为该问题最初是被标记的),您可以使用join

delete a
    from a join
         b
         using (x, y);

在SQLite或几乎所有其他数据库中,您可以使用:

delete 
    from a
    where exists (select 1 from b where b.x = a.x and b.y = a.y)

答案 1 :(得分:0)

谢谢大家。我找到了一个解决方案,以下是该问题的解决方法。

DELETE FROM a       
WHERE EXISTS (SELECT *
              FROM b
              WHERE b.x = a.x and b.y = a.y)

答案 2 :(得分:-1)

@yixizhou该查询将完成您所要的内容(准备好复制粘贴):

{{1}}