2017-08-15 28 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

這不會刪除任何東西。 –