我有一個在Oracle上運行得非常快的查詢。將查詢從Oracle轉換爲TSQL
field1
和field2
和field3
均爲整數
select * FROM MY_TABLE P WHERE
USER_ID = 167 AND
(field1,field2,field3) NOT IN
(SELECT field1,field2,field3 FROM EXCLUSION_TABLE)
我把它翻譯成T/SQL(SQL服務器2008 R2)
select * FROM MY_TABLE P WHERE
USER_ID = 167 AND
(cast(field1 as varchar)+ ','+cast(field2 as varchar)+ ','+
cast(field3 as varchar))
NOT IN
(SELECT cast(field1 as varchar)+ ','+cast(field2 as varchar)+ ','+
cast(field3 as varchar) FROM EXCLUSION_TABLE)
有沒有人有任何想法如何,我可以做不同呢?
謝謝。
你確定,你貼了正確的Oracle查詢?您正在從my_table中選擇行,其中(field1,field2,field3)之一不等於'exclusion_table'中三個字段的** sum **。你確定這不應該是一個元組比較?例如:'(field1,field2,field3)not in(從exclusion_table中選擇field1,field2,field3)' –
謝謝a_horse_with_no_name。我糾正了這個問題 – gordon613