选择下一个值,它等于另一个值

时间:2015-09-07 22:03:50

标签: sql sql-server datetime where

我有一个100周年的财政年度表。即

enter image description here

我想添加一个列,显示每个week_ending_date所属的会计年度。因此,在上面的第1周表中,而week_ending_date 2013-10-05将属于截至2014年的财政年度。

简而言之,我只是希望添加列中的每个值都是week_ending_date的年份部分,其中next_number是52。

这是我想要实现的伪代码。

SELECT
    Week_Ending_Date,
    (SELECT NEXT VALUE FOR Week_Ending_Date (***but as only year***) FROM Fiscal_Calendar WHERE FC.Week_Number = 52)
FROM Fiscal_Calendar AS FC
JOIN Shipped_Container AS SC
    ON SC.Fiscal_Week_Ending = FC.Week_Ending_Date 

请记住,这表已有100年的历史,所以我无法选择最后一个值,并且难以使用WHERE(对我来说)。

1 个答案:

答案 0 :(得分:1)

你能做到这一点的一种方法是减去7 *周数,取一年并加1:

select 1 + year(dateadd(day, -7 * week_number, week_ending_date))