如何为SUM列指定名称?

时间:2010-05-07 14:25:39

标签: sql-server

如何为SUM列指定列名?

即。

select OwnerUserId, SUM(PostScore)
INTO Experts
from ...

我收到此错误:

  

缺少对象或列名称或   空。对于SELECT INTO语句,   验证每列是否有名称。对于   其他语句,查找空别名   名。定义为“”或[]的别名是   不允许。将别名更改为a   有效名称。

我猜是因为包含SUM结果的列没有名称。

3 个答案:

答案 0 :(得分:11)

首先,没有SQL-Server 2003.仅2000,2005,2008(以及2008R2,2012和2014年最新版本)。

至于名称 - 称为别名 - 您可以使用AS。这是标准的SQL语法:

SELECT OwnerUserId, SUM(PostScore) AS PostScoreSum
INTO Experts 
FROM ... 

AS是可选的,因此您也可以在没有它的情况下为列添加别名:

SELECT OwnerUserId, SUM(PostScore)  PostScoreSum
INTO Experts 
FROM ... 

您还可以使用(专有的,仅在SQL-Server中)alias = column语法:

SELECT OwnerUserId, PostScoreSum = SUM(PostScore)  
INTO Experts 
FROM ... 

答案 1 :(得分:1)

select OwnerUserId, SUM(PostScore) as mySum
INTO Experts
from ...

select OwnerUserId, SUM(PostScore) [mySum]
INTO Experts
from ...

答案 2 :(得分:0)

您可以使用AS关键字对任何列进行别名计算:

SELECT OwnerUserId AS MyUserId, SUM(PostScore) As Score
INTO Experts
from ...