【发布时间】:2014-06-01 16:57:31
【问题描述】:
我因为一个查询而发疯。我有一个如下表,我想获取一个数据 - 间隔中每个日期的状态值总和。
表格
Id Name Value Date Status
1 pro1 2 01.04.14 0
2 pro1 8 02.04.14 1
3 pro2 6 02.04.14 1
4 pro3 0 03.04.14 0
5 pro4 7 03.04.14 0
6 pro4 2 03.04.14 0
7 pro4 4 03.04.14 1
8 pro4 6 04.04.14 1
9 pro4 1 04.04.14 1
例如,
输入: 姓名 = pro4,minDate = 01.02.14,maxDate = 04.09.14
输出:
Date Values sum for 0 Status Values sum for 1 Status
01.04.14 0 0
02.04.14 0 0
03.04.14 9 (=7+2) 4 (only 4 exist)
04.04.14 0 7 (6+1)
在01.02.14 和02.04.14 日期中,pro4 没有按状态显示的值,但我想显示这些行,因为我需要该间隔内的所有日期。谁能帮我创建这个查询?
编辑:
我不能改变结构,我已经有了那个有数据的表。每天在表中存在多次(最少 1 次)
提前致谢。
【问题讨论】:
-
您是否有某种日历表,每个日期都有一行?
-
查看this 了解如何使用 SQLServer 创建日历
-
不,我没有。我想在日期间隔中获得 1 天 1 时间
-
请参阅我有问题的编辑部分
标签: sql sql-server tsql group-by sql-order-by