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
最佳答案
替换
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
,如果您只想要它所在的结果不等于您应该使用 AND
。这可以使用 NOT IN
来缩短,如我上面的示例所示。
您的原始条件没有任何意义,因为 LT_10 - ACT_10
只能取一个值 - 它永远不会等于 1
和 2
(这是原始 OR
条件的两部分评估为 false
)
关于Mysql 查询,或条件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13304647/