我有一個子查詢,我正在使用一個更大的選擇查詢,我需要優化才能將其上傳到Domo。我正在嘗試爲交易是否包含特定項目添加「是/否」列。這將顯示在交易的所有行上。SQL案例查詢優化
它可以正常工作,但我正在處理大量數據,以至於軟件在超過所有數據之前超時。我可以在SQL SMS 2012中沒有任何問題的情況下運行查詢,但有沒有更簡單/更快的方式來執行此操作?謝謝!
case
when transactions.transaction_id in
(select transaction_id
from transaction_lines
where item_id_0 = 'msa500'
group by transaction_id) then 'Yes'
else 'No'
end as ContainsMSA500
您可以將您的子查詢移至CTE。應該工作得更快,因爲CTE將被檢索一次,而子查詢檢索每行 – cha
謝謝......我將對CTE進行一些研究。你能舉個例子嗎?我對SQL很陌生。 – aearce2000
@cha。 。 。你在哪裏得到這個想法?據我所知,SQL Server並沒有實現一般的CTE。如果您知道其他文檔,我會很高興看到它。 –