Sql server 2012 在sql中的日期列中创建每周存储桶
如何为日期列创建每周存储桶 我的数据如下所示:Sql server 2012 在sql中的日期列中创建每周存储桶,sql-server-2012,buckets,Sql Server 2012,Buckets,如何为日期列创建每周存储桶 我的数据如下所示: ID LOC DATE Amount 1 AAA 21-07-2015 3000 2 AAA 22-07-2015 1000 3 AAA 23-07-2015 0 4 AAA 27-07-2015 300 5 AAA 29-07-2015 700 我还有一个财政年度日历文件,其中包含一周的开始和结束范围,以及每个桶落在哪
ID LOC DATE Amount
1 AAA 21-07-2015 3000
2 AAA 22-07-2015 1000
3 AAA 23-07-2015 0
4 AAA 27-07-2015 300
5 AAA 29-07-2015 700
我还有一个财政年度日历文件,其中包含一周的开始和结束范围,以及每个桶落在哪个星期
Year WeekStart WeekEnd Week
2015 20-07-2015 26-07-2015 1
2015 27-07-2015 02-08-2015 2
so on till 2020...
这里的任务是,我必须将表中的所有行项目分组到每个桶下,并找到每周的金额值
Output:
ID LOC WEEk Amount
1 AAA 1 4000
2 AAA 2 1000
不确定如何启动进程本身或如何链接这两个文件。请您提供帮助。此处需要相关子查询。假设数据在表数据中,日历在表日历中。那么您的查询将如下所示
select
loc, week, sum(amount)
from
(select
(select top 1 week from calendar t1 where t1.WeekStart <= t2.date and t2.date <= t1.WeekEnd) as week,
loc,
amount
from
data t2) as subsel1
group by
loc, week