对于一个我不完全确定如何在 SQL Server 2012 中解决的问题,我需要一些指导和帮助。我认为LAG
函数LEAD
可能有用,但我不确定。
这是我的数据现在的样子:
=========================================
YearMonth LocationCode Active
=========================================
201405 123 0
201406 123 2
201409 211 1
201410 211 0
201411 214 0
201412 214 3
我们有一YearMonth
列显示每个状态的状态locationCode
和一个Active
表示每个质量的 intLocationCode
客观的:
我的目标是比较LocationCode
当前YearMonth
(我们称之为201406
)和前一个Yearmonth
(我们称之为201405
)的 for:
一个例子 :
=========================================
YearMonth LocationCode Active
=========================================
201405 123 0
201406 123 2
基本上我想弄清楚的是如何在名为Active
.
如果当前月份的行列Active
不为零,而上个月的 Active 为零,则我们得出结论,当前月份的行为“新”(1),否则为 (0)。
下面提供了一个示例:
==================================================
YearMonth LocationCode Active New
===================================================
201405 123 0 0
201406 123 2 1
201409 211 1 0
201410 211 0 0
201411 214 0 0
201412 214 3 1
我怎么解决这个问题?