我在下面有以下查询。我想使用别名并将它们加在一起,但 SQL 不允许这样做。关于如何在不重复查询的情况下解决这个问题的任何建议?使用 Microsoft SQL Server 2008
SELECT
SUM(CASE WHEN rg.category = 'Space' THEN ((rg.score*20)) END) As space,
SUM(CASE WHEN rg.category = 'QPR' THEN ((rg.score*20)) END) As qpr,
(space + qpr) As result
FROM rg_fin As rg JOIN...../*query goes on*/
最佳答案
您可以将查询包装为子查询
SELECT *,
(space + qpr) As result
FROM
(
SELECT
SUM(CASE WHEN rg.category = 'Space' THEN ((rg.score*20)) END) As space,
SUM(CASE WHEN rg.category = 'QPR' THEN ((rg.score*20)) END) As qpr
....
) subquery
关于sql - 如何在选择查询中使用别名并将它们加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11471491/