2014-11-04 56 views
0

我正在建立一个应用程序。我需要从数据库表中获取并显示项目。我想从表中选择的项目,其中的代码是这样ZW120和签出是不是等于1和条件不工作在mysql

所以我用这个SQL命令 -

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

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

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

下面是一个截图,更好地解释我的问题。

在此先感谢。

+0

无法添加屏幕截图作为即时通讯新这里。 – 2014-11-04 13:10:49

+2

'Checkedout'是字符列还是数字列?如果是数字,只需删除“1”左右的引号。 – 2014-11-04 13:13:11

+0

你确定'Checkedout'是一个char字段而不是一个整数吗?如果是整数,请尝试删除'''。 – 2014-11-04 13:14:55

回答

1

我刚才做了什么你描述有完全相同的副本。我也复制了你的SQL语句,结果就是它们应该的方式(你解释的方式)。

检查sqlfiddle的例子并运行查询。

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

,你可以看到,我已经取得了2列(当然,3,第一个是自动增量),并在其中加入2行。两者都具有匹配的“ZW120”代码并且检出为1.当您运行SQL语句时,结果为0.这是正确的。

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

我现在很困惑。你能告诉我们你正在使用什么数据库以及运行SQL的工具吗?我知道这可能没有帮助,但现在我不知道什么是错的。

亲切的问候,迈克

0

我想签出的数值列,所以你必须删除“”约于1

尝试

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

不等于就是<>没有!=在SQL

用途:

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