Mysql 比较两列

Mysql 比较两列,mysql,Mysql,我有一个包含以下列的数据库表:id\u product,qty,total 我想选择数量

我有一个包含以下列的数据库表:
id\u product,qty,total

我想选择数量 这是我现在正在使用的,但它不起作用:

SELECT * FROM tb_products WHERE id_product='$id' AND qty < total;
从tb_产品中选择*,其中id_产品=“$id”,数量<总计;

我猜您正在寻找此查询:

    SELECT * FROM tb_products WHERE   qty < total;
从数量
您不必查找id\u产品

小的

马克B是对的:


也许您正在使用varchars来表示qty/total字段,在这种情况下,qty=6和total=50实际上会给您带来症状。将数字作为字符串进行比较意味着6大于50,因为6>5=true。

在“数量”>“总计”中缺少一个报价,这是错误的
“qty”
是一个包含字母
q
t
y
的字符串<代码>数量
本身就是一个名为“数量”的字段。总计同上<代码>'qty'之所以为真,是因为字母表中
q
位于
t
之前,而不是因为您正在比较这些字段的值。您的where子句现在相当于
where 1=1
,这总是正确的。嗯……这很有意义……那么什么是正确的解决方案呢?您编写的查询没有问题。如果它没有返回任何内容,那么您没有任何具有指定id且数量小于总数的记录。它的工作原理与我在下面的评论中所说的相同。如果数量为0,则返回…但如果数量大于5,则不返回任何值。