我的查询是为什么我不能使用定义变量:WHERE子句中
SELECT
offer,
(SELECT
AVG(offer)
FROM
project_bids
) as var1
FROM
`project_bids`
WHERE
offer > var1
它会导致“#1054 - 未知列‘VAR1’在'where子句”错误。任何人都可以解释为什么会出现这种错误? (我知道工作的SQL,但我想了解失败的原因),它下面
不错的答案。但你可以编辑你的其他答案。 – Kamal 2010-11-08 12:50:24
我认为引用的顺序是错误的:'SELECT'子句在'HAVING'和'ORDER BY'之间解析 - 这就是为什么只有'ORDER BY'可以引用列的'AS'子句('别名')。 – onedaywhen 2010-11-08 14:10:00
......实际上,我几乎可以肯定,文章详细说明了“SELECT”子句的格式(即子句必须用代码写入的顺序),而不是执行顺序。查看最后的评论('Martin')。 – onedaywhen 2010-11-08 14:14:47