sql-server - 如何为 SUM 列指定名称?

标签 sql-server

如何将列名分配给 SUM 列?

IE。

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

我收到此错误:

An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.



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

最佳答案

首先没有 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 ... 

关于sql-server - 如何为 SUM 列指定名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2789269/

相关文章:

SQL Server SELECT 最后 N 行

sql - 从 SQL Server 中以字典(字符串索引列表)表示法输出 json

sql-server - Entity Framework 和脏读

sql-server - Geoserver 无法识别空间列

sql - 如何复制 SQL 表中的记录但交换新行的唯一 id?

ruby-on-rails - 带有 Rails 的 SQL 服务器

sql - 删除表及其所有依赖项 (Microsoft SQL Server)

SQL Group By 对创建的列进行分组?

sql - 如何表示(可选)一对(可选)关系

javascript - MSSQL Server 到 PHP 数组到 JSON 编码到 Highcharts