2017-10-21 82 views
1

我做SQLite中以下查詢:的SQLite3:括號不能在子查詢中不允許使用除和工會

select * from filenames f 
where (f.filesize,f.checksum) in 
    (
     select g.filesize,g.checksum from filenames g 
     where g.volume = 'Media' 
     except 
     select * from OnNNNMedia 
     union 
     select * from OnNNNTV 
    ) 
and f.volume='Media' 

該查詢運行良好,但有一個邏輯問題,因爲exceptunion之前,雖然我希望它執行之後執行。

如果我在union的周圍加上括號以確保它先執行,請參閱下面的查詢,我得到一個語法錯誤,抱怨新的括號。

select * from filenames f 
where (f.filesize,f.checksum) in 
    (
     select g.filesize,g.checksum from filenames g where g.volume = 'Media' 
     except 
     (
     select * from OnNNNMedia 
     union 
     select * from OnNNNTV 
     ) 
    ) 
and f.volume='Media' 

OnNNNMediaOnNNNTV是返回意見的文件大小,校驗和對

回答

相關問題