2014-11-04 61 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