2013-06-24 71 views
0

我有一個數據庫表中有以下的列:
id_product,數量,總Mysql的比較兩列

我想選擇所有產品,其中數量<總。
這是我使用的是什麼,但現在它不工作:

SELECT * FROM tb_products WHERE id_product='$id' AND qty < total; 
+1

不工作怎麼樣? –

+0

它錯過了'qty'>'total' – fackz

+0

的單引號。 ''qty''是一個帶有字母'q','t'和'y'的字符串。 'qty'本身就是一個名字是「qty」的字段。同上。 ''qty'<'total''只是因爲'q'在字母表之前't'而不是因爲你在比較這些字段的值。你的where子句現在等於'where 1 = 1',這總是正確的。 –

回答

0

我猜你在找這個查詢:

SELECT * FROM tb_products WHERE qty < total; 

你不必去尋找id_product

demo

0

馬克B爲正確:

也許你正在爲你的qty/total字段使用varchars,在這種情況下,qty = 6和total = 50會實際上給你你的症狀。比較數字作爲字符串意味着6大於50,因爲6> 5 =真。