我试图在MSSQL 2008 R2中执行以下查询,但是它的抛出错误。 查询是:
SELECT (n_artifactType+(' '+ n_actionPerformed)) AS actionperformed,
COUNT(n_actionPerformed) total FROM notifications WHERE n_project='JupiterQA'
GROUP BY actionperformed order by n_actionPerformed;
错误是:
Msg 207, Level 16, State 1, Line 1
Invalid column name 'actionperformed'.
使用' actionperformed'作为别名,即使它的抛出错误。 如何在没有错误的情况下执行上述查询。
答案 0 :(得分:2)
通过它的外观actionperformed
是别名,而不是group by
子句所需的实际表字段(或表达式)。
建议group by (n_artifactType+(' '+ n_actionPerformed))
。
有趣的是,order by
会对别名感到满意。
答案 1 :(得分:0)
错误位于group by
的{{1}}部分,group by将无法使用alias将其更改为实际表达式,即{。{1}}