0
select distinct
pos.DivNo 
,WeekOfYear
,[ProductCode]
,sum(Quantity)[Quantity]
into #sales1
from cbis799p.dbo.pos pos
LEFT JOIN DataWarehouse.dbo.Calendar c on pos.PosDate = c.Datetime
Where pos.DivNo = 772 and ProductCode = '1020'
and WeekOfYear = 1
and YearWeek = 2015
group by pos.DivNo 
,WeekOfYear
,[ProductCode]

select * from #sales1
drop table #sales1


select distinct
pos.DivNo 
,Min(WeekOfYear) WeekOfYear
,[ProductCode]
,SUM(quantity) PreQuantity
into #sales2
from cbis799p.dbo.pos pos
LEFT JOIN DataWarehouse.dbo.Calendar c on pos.PosDate = c.Datetime
where pos.DivNo = 772 and ProductCode = '1020'
and WeekOfYear = 1
and YearWeek = 2015
group by pos.DivNo 
,WeekOfYear
,[ProductCode]

select * from #sales2
drop table #sales2

在此处输入图像描述

这是我的输出,我需要来自一年中的一周的预量化 - 1 周,这将使其成为 2014 年的第 52 周

我需要这个值是动态的,以便它可以被参数理解

4

1 回答 1

0
Declare @d Date = '2015-01-01'

    select 
        --Date
        @d
        --WeekYear of Date
        , DatePart(WEEK, @D)
        --Last day of 2014
        , DATEADD(DAY, -1, @D) 
        --Last WeekYear of 2014
        , DatePart(WEEK, DATEADD(DAY, -1, @D))

在此处输入图像描述

于 2015-12-18T03:12:05.970 回答