主要查询中的MySQL访问子查询列名称其中子句
问题描述:
试图将条件置于检查子查询中的值的主要where子句中。主要查询中的MySQL访问子查询列名称其中子句
SELECT total, (select my_count from x where .. etc) as XXX
FROM sales
WHERE XXX > 0;
我得到一个未知的列错误。任何想法为什么?
答
约
select total, xxx
from (
SELECT total, (select my_count from x where .. etc) as XXX
FROM sales
)
WHERE XXX > 0;
答
这是一个很奇怪的查询。
为什么不把WHERE条件放在子查询中?
SELECT total, (select my_count from x where .. AND my_count > 0) as XXX
FROM sales
而且出现错误是因为您无法将子查询的结果用作列名。
如果我尝试这个,我得到一种错误,不能修复http://stackoverflow.com/questions/1888779/every-derived-table-must-have-its-own-alias – Brettski 2012-04-02 00:40:39
@Brettski:只是分配FROM FROM子查询的别名,如:... FROM ... ... some_alias WHERE ...' – 2012-04-02 06:10:26