2017-09-20 35 views
2

2聯接我有2聯接:替換一個

LEFT JOIN TransactionAmounts AS TAR ON T.orderID = TAR.orderID AND TAR.customerType = 1 
LEFT JOIN TransactionAmounts AS TAA ON T.orderID = TAA.orderID AND TAA.customerType = 0 

我怎麼能代替這兩加入了嗎?爲了提高性能

回答

3

您可以使用

LEFT JOIN TransactionAmounts AS TAR ON T.orderID = TAR.orderID AND TAP.customerType in(0, 1) 

或者

LEFT JOIN TransactionAmounts AS TAR ON T.orderID = TAR.orderID AND (TAP.customerType = 0 OR TAP.customerType = 1) 

檢查執行計劃

+0

謝謝你,夥計 – Kirill

+0

但請記住,這個結果是不一樣的:通常有一個原因,爲什麼你有TAA和TAR ...類似於自連接,你可能需要TAA和TAR的某些數據。你可以粘貼整個查詢嗎? – Tyron78