SELECT UT_10, LT_10, ACT_10, LT_10 - ACT_10, UT_10 - ACT_10
FROM distributor
WHERE (
LT_10 - ACT_10 <>1
OR LT_10 - ACT_10 <>2
)
AND ACT_10 <>10
AND
(
UT_10 - ACT_10 =1
OR UT_10 - ACT_10 =2
)
AND ACT_10 <>10
我在mysql中写了这个查询。我不想要1或2个结果但是结果显示1请帮助我。 或者条件不适用于mysql查询。
你可以在这里看到结果:CLICK HERE FOR LARGE IMAGE
答案 0 :(得分:6)
替换
LT_10 - ACT_10 <>1
OR LT_10 - ACT_10 <>2
使用
LT_10 - ACT_10 NOT IN (1,2)
原始查询会返回LT_10 - ACT_10
等于1
的结果,因为您使用了OR
,如果您只希望结果不等于您应该使用{{1} }}。这可以使用AND
缩短,如上例所示。
您的原始条件没有用处,因为NOT IN
只能取一个值 - 它永远不会等于LT_10 - ACT_10
和1
(这是两个部分所需要的原始2
条件要评估为OR
)