我进行了SELECT,将一行中的不同值添加到maxguests
字段中。
我无法管理的是在WHERE子句中重用该虚拟值。
我的查询是
SELECT
id,
single_beds + single_bed_sofas + double_beds * 2 + double_bed_sofas * 2 AS maxguests
FROM items
和预期的一样,这很好。
现在,我想添加
WHERE maxguests > 5
,但我收到错误消息,指出该列是未知的。错误代码:1054。“ where子句”中的未知列“ maxguests”
将总和别名化为
maxguests
不足以能够在查询中使用它吗? 最佳答案
您可以使用HAVING
子句比较虚拟列值,例如:
SELECT
id,
single_beds + single_bed_sofas + double_beds * 2 + double_bed_sofas * 2 AS maxguests
FROM items
HAVING maxguests > 10;
这是SQL Fiddle中的示例。