2017-08-15 345 views
0

我有4个CSV文件导入SQLITE(mastersuppress, ddsummary, rm5, excludelist)。所有文件由1列(AccountNumber)组成。在单个SQLITE中执行多条语句

我设法找到3文件之间重复的账号并将结果保存在使用此代码名为Output新的CSV文件:

select mastersuppress.Account 
from mastersuppress 
inner join ddsummary 
on mastersuppress.Account=ddsummary.Account 
union all 
select rm5.Account 
from rm5 
inner join ddsummary 
on rm5.Account=ddsummary.Account 

然后我设法从Output文件复制与删除的账户号码使用该第二代码在excludelist文件帐号:

delete from Output 
where AccountNumber in 
     (
     select min(AccountNumber) 
     from excludelist 
     group by 
       AccountNumber 
     ); 

Select * FROM Output; 

如何编译这2代码为1级的代码,而无需在处理之间建立输出文件。因此,代码看起来像这样

Delete from ***FirstCodeResult*** 
    where AccountNumber in 
      (
      select min(AccountNumber) 
      from excludelist 
      group by 
        AccountNumber 
      ); 

    //Display the result 
+0

更新您的问题并描述您想要的输入和输出。 –

+0

您似乎想要执行某种设置差异操作。请在这里显示一些示例数据。 –

回答

0

我想这句话用except

select m.Account 
from mastersuppress m inner join 
    ddsummary ds 
    on m.Account = ds.Account 
union 
select rm5.Account 
from rm5 inner join 
    ddsummary ds 
    on rm5.Account = ds.Account 
except 
select el.AccountNumber 
from excludelist el; 

exceptunion删除重复。

+0

这不会删除任何东西。 –