【发布时间】:2015-07-22 23:51:21
【问题描述】:
我有一个数据集,如下所示:
ResourceID RequirementId ProjectID Startdate EndDate BillingPercentage -------------------- -------- ---------- ---------- ------------------------ ----- ------ ---------------------------------------- 1 5066 7505 2015-09-15 00:00:00.000 2015-09-30 00:00:00.000 50 2 4748 7499 2015-09-10 00:00:00.000 2015-09-20 00:00:00.000 50我想计算我查询的特定月份的范围和相应的计费百分比:
插入@DateTimeline 选择 @MonthStartDate 作为 OSTARTDATE,@MonthEndDate 作为 OENDDATE,0 插入@DateTimeline SELECT Startdate AS OSTARTDATE,EndDate AS OENDDATE,BillingPercentage From @RESOURCE_UNBILLED Order by Startdate 插入@DateTimeline SELECT EndDate AS OSTARTDATE,EndDate AS OENDDATE,BillingPercentage From @RESOURCE_UNBILLED Order by Startdate数据如下所示:
SerialNo OSTARTDATE OENDDATE BillingPercentage ----------- ------------------------ ---------------- -------- ---------------------------------------- 1 2015-09-01 00:00:00.000 2015-09-30 00:00:00.000 0 2 2015-09-10 00:00:00.000 2015-09-20 00:00:00.000 50 3 2015-09-15 00:00:00.000 2015-09-30 00:00:00.000 50 4 2015-09-20 00:00:00.000 2015-09-20 00:00:00.000 50 5 2015-09-30 00:00:00.000 2015-09-30 00:00:00.000 50
我想像下面这样检索数据
OSTARTDATE OENDDATE BillingPercentage ----------- ------------------------ ---------------- -------- ---------------------------------------- 2015-09-01 00:00:00.000 2015-09-10 00:00:00.000 0 2015-09-10 00:00:00.000 2015-09-15 00:00:00.000 50 2015-09-15 00:00:00.000 2015-09-20 00:00:00.000 100 2015-09-20 00:00:00.000 2015-09-30 00:00:00.000 50
请建议我怎样才能得到这个我也可以在这里使用枢轴吗?
【问题讨论】:
-
有点难以理解您的预期输出来自何处。您的计算查询中的@RESOURCE_UNBILLED 是什么数据?在您的决赛桌中,您的开始和结束日期范围来自哪里?
标签: sql sql-server pivot