【发布时间】:2018-02-21 15:43:52
【问题描述】:
我对 SQL 比较陌生,正在尝试找出我在帖子标题中出现错误的原因。 (我觉得跟LAG函数有关系?)
这是我要执行的代码:
ALTER TABLE [MyDatabase].[dbo].[MyTable]
ADD Calc_Column AS CAST
(
CASE WHEN [Variable_X] = LAG([Variable_X],1,0) OVER (Order By FileDate)
AND [Variable_Y] != LAG([Variable_Y],1,0) OVER (Order By FileDate)
AND [ACTUAL START DATE] != 0
AND [FileDate] >= [ACTUAL START DATE]
THEN 1
ELSE 0
END AS N
)
GO
【问题讨论】:
-
错误信息的哪一部分不清楚?
-
请给我们一个样本数据和预期结果。谢谢。
-
报错中说窗口函数只能在
SELECT或ORDER BY中使用,所以不能在CASE语句中使用 -
@mitchmitch24 。 . .您可以为此功能使用视图。
标签: sql-server tsql ddl calculated-columns window-functions