我的代码如下所示:

select col1,count(col2) as col7
from --some join operation
group by col1
having col7 >= 3 -- replace col7 by count(col2) to make the code work

我的代码导致错误“无效的列名'col7'”。为什么会这样? SQL不允许我在最后一行中使用col7似乎是不合逻辑的。

我正在使用SQL Server Express 2008

最佳答案

在MS SQL中,您可以引用别名的唯一位置(我知道)是在ORDER BY子句中。能够在查询的其他部分引用别名的功能是许多其他数据库平台所具有的功能,老实说,这使我很烦恼,Microsoft尚未将其视为有用的功能。

10-06 04:13