Mysql 查询,或条件不工作

标签 mysql

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

enter image description here

最佳答案

替换

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 只能取一个值 - 它永远不会等于 12 (这是原始 OR 条件的两部分评估为 false)

所需要的

关于Mysql 查询,或条件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13304647/

相关文章:

php - 奇怪的 php 文件行为,一个不应该存在的元素

PHP-从数据库中获取并存储在下拉菜单html中

mysql - 在 MySQL 中连接表并对列进行求和

MySQL 性能

mysql - SQL/MySQL : common design of row number/index/offest for pagination

php - PDO连接类/代码和类设计

mysql - 删除 MySql 前触发

用于检查数据框中是否存在用户输入值的 Python 脚本

mysql - 我如何按月份对所有行数据进行分组,而不是使用 group by 消除某个日期

mysql - 如何保护 vb.net 2008 中的连接字符串?