我得到了一些奇怪的结果,所以我需要检查自己......
SELECT *
FROM table
WHERE complete != 0
AND pending != 1
Run Code Online (Sandbox Code Playgroud)
需要说明的是,这些是允许的:
pending = 0, complete = 0
pending = 1, complete = 1
pending = 0, complete = 1
Run Code Online (Sandbox Code Playgroud)
不允许从我的查询中返回:
pending = 1, complete = 0
Run Code Online (Sandbox Code Playgroud)
我在这里想念的是什么......?
Dav*_*vin 37
尝试:
SELECT *
FROM table
WHERE NOT (complete = 0
AND pending = 1)
Run Code Online (Sandbox Code Playgroud)
要么
SELECT *
FROM table
WHERE !(complete = 0
AND pending = 1)
Run Code Online (Sandbox Code Playgroud)
编辑:我去看了看:http: //dev.mysql.com/doc/refman/4.1/en/expressions.html
你需要使用OR,而不是AND.你的表达会遗漏任何组合,其中complete = 0或者pending = 1限制太多.请尝试以下方法:
SELECT *
FROM Table
WHERE complete != 0 OR pending != 1;
^^ change AND to OR
Run Code Online (Sandbox Code Playgroud)
示例:http://sqlize.com/G8j6sFqo09
| 归档时间: |
|
| 查看次数: |
85309 次 |
| 最近记录: |