如何为SUM列指定列名?
即。
select OwnerUserId, SUM(PostScore)
INTO Experts
from ...
我收到此错误:
缺少对象或列名称或 空。对于SELECT INTO语句, 验证每列是否有名称。对于 其他语句,查找空别名 名。定义为“”或[]的别名是 不允许。将别名更改为a 有效名称。
我猜是因为包含SUM结果的列没有名称。
答案 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 ...