2013-06-24 9 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

Marc B был прав:

Возможно, вы используете varchars для своих полей qty/total, и в этом случае qty = 6 и total = 50 фактически дадут вам ваши симптомы. сравнение чисел как строк означает, что 6 больше 50, потому что 6> 5 = истина.