创建一个SQL语句,通过比较一行中的两个字段来查询MySQL数据库

时间:2012-01-26 20:15:16

标签: php mysql

我有一张表如下:

价格

ID * * **高值

1 * 1 * 4 ** 29.0

2 * 5 * 9 ** 32.0

3 * 10 * 25 ** 50.0

低和高都是INT

我试过了: $ SQL =“价格中的SELECT值低于> ='2'和高< ='2' 但我得出零(0)结果返回,在这个例子中我想找到29.0

编辑了我上面的表格,因为我看到它已经形成后还不清楚。

2 个答案:

答案 0 :(得分:1)

我在上面的示例中看不到高的< = 2。 你可能想要复习一下。

$SQL = "SELECT value from Prices WHERE low >= '2' AND high <= '2'"

您向我们展示的上述代码是正确的。

我相信你希望它转换为找到值29.0:

$SQL = "SELECT value from Prices WHERE low <= '2' AND high >= '2'"

答案 1 :(得分:1)

@Rick打败了我查询中的逻辑错误。只是要添加你应该使用围绕字段和表名称的反复(至少在value这里,因为我认为这可能是一个未来的保留关键字)。另外,如果lowhighint类型,则不应在引号中包含它们的值。虽然mysql可能会相应地转换它们,但您指定了字符串。

SELECT `value` from `Prices` WHERE `low` <= 2 AND `high` >= 2