【发布时间】:2016-02-24 22:08:38
【问题描述】:
问题:我在 T-SQL 中有一个查询,我将 ROW_NUMBER 设置为 RowNumber 并在我的 SELECT 中名为 UnitNumber 的列上分区。我想创建一个CASE 声明:
CASE
WHEN RowNumber = 1 then un.SqFt Else ''
End as GrpSqft
但是,我收到一条错误消息,指出我的 RowNumber 列无效。我把它放在错误的位置吗?我是 Sql 的新手,无法理解如何将该列定义为“内置”列。我明白了:
[ 列名“行号”无效。 ]
期望的结果是有一列“GrpSqft”,其中所有 SqFt 值都属于 RowNumber=1
谢谢,
【问题讨论】:
-
您需要使用子查询或 CTE。您不能在
WHERE子句中引用与定义它的SELECT相同级别的列别名。
标签: sql tsql reporting-services