我在 SQLite 数据库中有两个表,Feeds 和 Import。我正在将 RSS 提要列表中的所有附件拉入导入表;其中大部分也在 Feeds 表中。我正在尝试从 Feeds 表中删除记录,其中附件不在导入表中,因为它们不再在 rssfeed 中并且它们已被下载。基本上这是我的设置:

TABLE Feeds
    id (TEXT)
    url (TEXT)
    downloaded (BIT)

TABLE Import
    id (TEXT)
    url (TEXT)

# results to delete
(SELECT id,url FROM Feeds WHERE downloaded = 1 EXCEPT SELECT id,url FROM Import)

我可能想多了,让它变得比实际情况更复杂。

最佳答案

DELETE
  FROM Feeds
 WHERE downloaded = 1
   AND NOT EXISTS (
          SELECT *
            FROM Import b
           WHERE Feeds.id = b.id
             AND Feeds.url = b.url )

关于SQLite:使用 EXCEPT 从 SELECT 中删除结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3831969/

10-10 20:58