计算查询中声明的两个临时列名的sum() -在SQL中
stud表只有两列m1,m2。total和total1被指定为临时名称。
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不支持重复的列名吗?
如何利用它来支持重复的列名
发布于 2010-10-14 18:39:25
您不能直接这样做-您需要使用类似于CTE (通用表表达式)的东西-如下所示:
;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标准)。
发布于 2013-02-05 17:18:40
select convert(int, first)+ convert(int,second) as total from test1 在第一个和第二个is中,字段数据类型是nvarchar,如果字段是integer格式,则
select first+second as total from test1 , test1是表名。
https://stackoverflow.com/questions/3932205
复制相似问题