简体   繁体   English

sql在select语句中使用两个或多个OR条件

[英]sql using two or more OR conditions in a select statement

AM trying to get status where status is not=16 or not=11 so basically i would like to get records with statuses AM试图获取状态为not = 16或not = 11的状态,所以基本上我想获取具有状态的记录

1 to 10 jump 11, then 12 to 15

This is my sql statement 这是我的SQL语句

SELECT t.*
  FROM tbl_trucks t
   WHERE t.truck_status != 11
   OR t.truck_status != 16;

In the above case only the second one is executed(!16). 在上述情况下,仅执行第二个(!16)。

I have also tried 我也尝试过

SELECT t.*
  FROM tbl_trucks t
  WHERE t.truck_status <> 11
  OR t.truck_status <> 16

what could be wrong? 有什么问题吗?

Use NOT IN : 使用NOT IN

SELECT t.*
FROM tbl_trucks t
WHERE t.truck_status NOT IN (11, 16);

Your code would work with AND instead of OR . 您的代码将使用AND而不是OR

You are using the wrong logic. 您使用了错误的逻辑。 If you want to NOT show status 11 and 16 it means that you want everything that isn't 11 AND isn't 16 so: 如果您不希望显示状态1116则表示您想要的不是11也不是16的所有内容都是这样:

SELECT t.*
  FROM tbl_trucks t
 WHERE t.truck_status <> 11
   AND t.truck_status <> 16

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM