首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算sum()两个别名命名列-在sql中

计算sum()两个别名命名列-在sql中
EN

Stack Overflow用户
提问于 2010-10-14 18:28:13
回答 2查看 52.7K关注 0票数 14

计算查询中声明的两个临时列名的sum() -在SQL中

stud表只有两列m1,m2。total和total1被指定为临时名称。

代码语言:javascript
运行
复制
select 
   m1, m2, 
   SUM(m1) + SUM(m2) as Total,
   SUM(m1) + SUM(m2) as Total1 
from 
   stud 
group by 
   m1, m2

如何通过将列名声明为要执行的查询的临时名称来计算作为sum(total)+sum(total1)grandtotal

With cte不支持重复的列名吗?

如何利用它来支持重复的列名

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-14 18:39:25

您不能直接这样做-您需要使用类似于CTE (通用表表达式)的东西-如下所示:

代码语言:javascript
运行
复制
;WITH sums AS 
(
   SELECT
      m1, m2, 
      SUM(m1) + SUM(m2) as Total,
      SUM(m1) + SUM(m2) as Total1 
   FROM
      dbo.stud 
   GROUP BY
      m1, m2
)
SELECT 
   m1, m2, 
   total, total1, 
   total+total1 AS 'GrandTotal' 
FROM 
   sums

这适用于SQL Server2005和更新版本(以及其他一些支持CTE的数据库系统--这是一个ANSI标准)。

票数 24
EN

Stack Overflow用户

发布于 2013-02-05 17:18:40

代码语言:javascript
运行
复制
select convert(int, first)+ convert(int,second) as total from test1 

在第一个和第二个is中,字段数据类型是nvarchar,如果字段是integer格式,则

代码语言:javascript
运行
复制
select first+second as total from test1 , test1

是表名。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3932205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档