比较两列时的MySQL select语句

时间:2014-01-10 16:16:16

标签: php mysql sql

几天前你对我以前的问题帮了很多忙,所以我想我会帮助解决当前的问题。

我有一个名为orders的表格quotepayment字段

我试图让它显示quote=payment所有数据,所以我做了以下查询:

SELECT * FROM Orders WHERE quote = '$payment'

然而,它不起作用,但如果我做了类似的事情:

SELECT * FROM Orders WHERE quote = '10'

然后它完美地工作,任何想法为什么它在比较两列时似乎不想工作,但是当我将数字直接添加到查询中时工作?两列都是int。谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

如果您想比较同一个表中的两列,则应该执行以下操作:

SELECT * FROM table WHERE column1 = column2

答案 1 :(得分:0)

mysql中的数字比较不需要这个 - > “

所以而不是

"SELECT * FROM Orders WHERE quote = '$payment'"

"SELECT * FROM Orders WHERE quote = $payment"

答案 2 :(得分:0)

如果我理解你是正确的,那么您正在尝试查找quotepayment列中的值匹配的行。如果是这样,你只需要比较列名(换句话说,我不确定$payment变量在这里发挥作用。也许$只是习惯性的错字? )。

"SELECT * FROM Orders WHERE quote = payment"