我需要一些指導和幫助,我不完全確定如何在SQL Server 2012中解決一個問題。我認爲LAG
和LEAD
函數可能是有用的,但我我不確定。比較當前月份和列上的上個月的行,SQL Server 2012
這是我的數據看起來現在:
=========================================
YearMonth LocationCode Active
=========================================
201405 123 0
201406 123 2
201409 211 1
201410 211 0
201411 214 0
201412 214 3
我們有一個YearMonth
欄,顯示的狀態如何看起來像每個locationCode
和Active
INT表示每個LocationCode
質量目標:
我的目標是比較LocationCode
for curr ENT YearMonth
(姑且稱之爲201406
)和以前Yearmonth
(姑且稱之爲201405
):
一個例子:
=========================================
YearMonth LocationCode Active
=========================================
201405 123 0
201406 123 2
基本上什麼,我想弄清楚是如何比較當月的行( 201406)到名爲Active
的列上一個月的行(201405)。
如果當前月份的行Active
列不爲零,且上個月的Active爲零,則我們得出當前月份的行爲「New」(1)else(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
我怎樣才能解決這個問題?
我公司擁有一批在ROW_NUMBER)尋找第一次行活動是零變化(和第二行是非零,但在許多情況下,它並沒有被糾正。由於活動在一個月內可能是1,而其他活動可能不是1,這就是爲什麼我熱衷於當前和上個月的一些比較技術。 – user3197575