我有一个查询为什么查询获取不属于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