Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite-基于其他两个表删除行_Sql_Sqlite - Fatal编程技术网

SQLite-基于其他两个表删除行

SQLite-基于其他两个表删除行,sql,sqlite,Sql,Sqlite,我的发票软件需要很长时间才能启动,所以我试图清除旧数据(任何与我当前的“BusinessID”无关的数据),但我被卡住了 我有3个表-我列出了每个表的相关列: 公司(客户): 身份证件 clientOfBusinessID 发票: 身份证件 客户发票 发票行项目 LineItemOfVoiceID 我想删除与我当前业务不相关的所有*发票\行\项目*行 以下陈述似乎向我展示了与我当前业务无关的所有客户: companies.clientOfBusinessID NOT LIKE '%41A1%'

我的发票软件需要很长时间才能启动,所以我试图清除旧数据(任何与我当前的“BusinessID”无关的数据),但我被卡住了

我有3个表-我列出了每个表的相关列:

公司(客户): 身份证件 clientOfBusinessID

发票: 身份证件 客户发票

发票行项目 LineItemOfVoiceID

我想删除与我当前业务不相关的所有*发票\行\项目*行

以下陈述似乎向我展示了与我当前业务无关的所有客户:

companies.clientOfBusinessID NOT LIKE '%41A1%'
我该怎么办?我曾经玩过JOIN查询,但不能很好地组合起来

老实说,我不知道我在做什么,只是在网上阅读指南,这是我能想到的最好的——根本不起作用

    DELETE from invoice_line_items
    FROM invoices JOIN companies ON invoices.invoiceOfClientID = companies.id
    JOIN invoice_line_items ON invoices.id = invoice_line_items.lineItemOfInvoiceID
    WHERE companies.clientOfBusinessID NOT LIKE '%41A1%'
有什么想法吗

非常感谢

此查询(如果我正确理解您的结构)将为您提供与贵公司无关的所有发票:

SELECT i.*
FROM invoices i
INNER JOIN companies c
  ON i.invoiceOfClientID = c.id
WHERE c.clientOfBusinessID NOT LIKE '%41A1%'
要删除发票行项目,我们可以使用上面的查询,如下所示:

DELETE from invoice_line_items
WHERE lineItemOfInvoiceID IN 
  (SELECT i.id
   FROM invoices i
   INNER JOIN companies c
     ON i.invoiceOfClientID = c.id
   WHERE c.clientOfBusinessID NOT LIKE '%41A1%')
然后,您可能还希望删除发票:

DELETE from invoices
WHERE id IN 
  (SELECT i.id
   FROM invoices i
   INNER JOIN companies c
     ON i.invoiceOfClientID = c.id
   WHERE c.clientOfBusinessID NOT LIKE '%41A1%')

你能详细解释一下“根本不起作用”吗?非常感谢,太棒了。清除了大量冗余数据。