我有一個查詢爲什麼查詢獲取不屬於where子句的記錄?
select account, collateral,rest_flag_11 ,member_rest_flag11,member_rest_flag12
from FileDaily
left join member
on member.member_account=FileDaily.account
where member.member_rest_flag11= 80 or member.member_rest_flag12=80
and FileDaily.REST_FLAG_11=0 and FileDaily.COLLATERAL in (10,11,13,20)
它越來越記錄,其中抵押= 30,40 其不在抵押品的部分(10,11,13,20), 爲什麼會變成這樣?
我試圖GE裏邊反帳號其中filedaily表抵押品=(10,11,13,20) 和rest_flag_11 = 0和在構件的member_account是member_rest_flag_11 = 80和member_rest_flag12 = 80。
我使用SQL Server 2012
因爲您正在使用'OR'而沒有考慮正確的邏輯 – Lamak 2014-09-30 16:04:45
您正在混合使用'和'和'或'子句。它們具有不同的綁定優先級,並且您的查詢運行方式與您所期望的不同。 – 2014-09-30 16:05:02