AND条件在mysql中不起作用

时间:2014-11-04 13:10:14

标签: mysql

我正在构建一个应用程序。我需要从数据库表中获取和显示项目。我正在尝试从表中选择代码为LIW ZW120并且Checkedout不等于1的项目。

所以我正在使用这个SQL命令 -

SELECT * 
FROM inventory_table 
WHERE Code LIKE'%ZW120%' AND Checkedout!='1'

此SQL命令应显示0结果,因为表中只有两个代码为ZW120的项目,并且这两个项目的Checkedout列都设置为1.

问题是它一直显示两个结果。 mysql不应该返回任何结果。

这是一个截图,可以更好地解释我的问题。

提前致谢。

3 个答案:

答案 0 :(得分:1)

我刚刚完成了你在那里描述的内容。我也复制了你的SQL语句,结果就是他们应该的方式(你解释的方式)。

例如,检查sqlfiddle并运行查询。

链接http://sqlfiddle.com/#!2/9e2cb/1

如你所见,我已经制作了两列(好吧,3,第一列是自动增量),并在其中添加了2行。两者都具有匹配的“ZW120”代码和签出为1.当您运行SQL语句时,结果为0.这是正确的。

您可以将一行值更改为“0”并查看它找到与SQL语句匹配的1行,这也是正确的!

我现在很困惑。您能告诉我们您使用的数据库以及运行SQL的工具吗?我知道这可能没什么用,但是现在我不知道出了什么问题。

亲切的问候,MiKE

答案 1 :(得分:0)

我猜Checkedout是一个数字列,因此你必须删除''围绕1。

尝试

SELECT * FROM inventory_table WHERE Code LIKE'%ZW120%' AND Checkedout <> 1

答案 2 :(得分:0)

不等于SQL {/ p>中<>而非!=

使用:

SELECT * FROM inventory_table WHERE Code LIKE'%ZW120%' AND Checkedout <> 1