sql - 如何在选择查询中使用别名并将它们加在一起

标签 sql database select

我在下面有以下查询。我想使用别名并将它们加在一起,但 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/

相关文章:

c# - 通过 dapper 从 sql 存储过程插入返回 -1 (不是 "working")

sql - 删除多对多关系中的相关行

mysql - 搜索日期 MySql

mysql - 如何使用一列中的 SUM 从数据库中检索数据值

mysql - 我如何在 MySQL 中对 A1,A2,A3,B1,B2,B3,...,AA1,AA2,AA3 进行排序?

sql - 在 postgres 中创建一个范围

SQL:如何根据两个字段查找重复项?

mysql - SQL 语句 - 如何选择 INTERSECTING 键

java - Teradata 中的行 ID

javascript - 使用 DOM 对象创建备份数组