我正在构建一个应用程序。我需要从数据库表中获取和显示项目。我正在尝试从表中选择代码为LIW ZW120并且Checkedout不等于1的项目。
所以我正在使用这个SQL命令 -
SELECT *
FROM inventory_table
WHERE Code LIKE'%ZW120%' AND Checkedout!='1'
此SQL命令应显示0结果,因为表中只有两个代码为ZW120的项目,并且这两个项目的Checkedout列都设置为1.
问题是它一直显示两个结果。 mysql不应该返回任何结果。
这是一个截图,可以更好地解释我的问题。
提前致谢。
答案 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