2013-06-24 5 views
0

J'ai une table de base de données avec les colonnes suivantes:
id_product, qté, au totalMysql Comparer deux colonnes

Je veux sélectionner tous les produits où QTY < au total.
C'est ce que j'utilise en ce moment, mais il ne fonctionne pas:

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

ne fonctionne pas comment? –

+0

Il manquait une seule citation sur 'qty'> 'total' – fackz

+0

qui aurait tort. ''qty'' est une chaîne avec les lettres' q', 't' et' y'. 'qty' en soi est un champ dont le nom est" qty ". Idem pour le total. ''qty' <'total'' n'est vrai que parce que' q' vient avant 't' dans l'alphabet, pas parce que vous comparez les valeurs de ces champs. votre clause where est maintenant l'équivalent de 'where 1 = 1', ce qui est TOUJOURS vrai. –

Répondre

0

je suppose que vous cherchez pour cette requête:

SELECT * FROM tb_products WHERE qty < total; 

vous ne devez pas chercher le id_product

petit demo

0

Marc B avait raison:

peut-être que vous utilisez varchars pour vos champs qty/total, auquel cas qty = 6 et total = 50 vous donnerait réellement vos symptômes. comparer des nombres en tant que chaînes signifie que 6 est supérieur à 50 parce que 6> 5 = vrai.

Questions connexes