AM尝试获取状态不是= 16或不= 11的状态所以基本上我想获得状态记录
1 to 10 jump 11, then 12 to 15
这是我的sql语句
SELECT t.*
FROM tbl_trucks t
WHERE t.truck_status != 11
OR t.truck_status != 16;
在上述情况下,只执行第二个(!16)。
我也试过
SELECT t.*
FROM tbl_trucks t
WHERE t.truck_status <> 11
OR t.truck_status <> 16
可能出错?
答案 0 :(得分:2)
使用NOT IN
:
SELECT t.*
FROM tbl_trucks t
WHERE t.truck_status NOT IN (11, 16);
您的代码可以使用AND
代替OR
。
答案 1 :(得分:2)
您使用的是错误的逻辑。如果您不想显示状态11
和16
,则表示您希望所有非11且不是16的内容如此:
SELECT t.*
FROM tbl_trucks t
WHERE t.truck_status <> 11
AND t.truck_status <> 16