健康)状况:
Start date: 31-12-2012
End date: 01-04-2013
- 模块代表
project_id
- 加载表示介于
module_start_date
和module_end_date
和之间user_id=6
的 40% 是免费的。
SELECT [user_id], module_id, module_start_date, module_end_date,
1 - loading_percentage loading
FROM module_user_master_map
WHERE module_start_date >= '2012-12-31'
AND module_end_date <= '2013-04-01'
AND [user_id]=6
使用此查询,我得到以下输出:
user_id | module_id | module_start_date | module_end_date | loading
-------------------------------------------------------------------
6 | 3 | 01-01-2013 | 31-01-2013 | 0.4
6 | 4 | 15-02-2013 | 28-02-2013 | 0.2
6 | 5 | 01-03-2013 | 15-03-2013 | 0.7
6 | 3 | 30-01-2013 | 30-01-2013 | 0.5
如果您仔细查看输出,您会发现用户在日期01-02-2013
内100% 可用,14-02-2013
即他的负载为 1。
//更正了上面句子中的日期。
我希望输出如下
user_id | module_id | module_start_date | module_end_date | loading
-------------------------------------------------------------------
6 | 3 | 30-01-2013 | 30-01-2013 | 0.5
6 | 3 | 01-01-2013 | 31-01-2013 | 0.4
6 | Null | 01-02-2013 | 14-02-2013 | 1
6 | 4 | 15-02-2013 | 28-02-2013 | 0.2
6 | 5 | 01-03-2013 | 15-03-2013 | 0.7
6 | Null | 16-03-2013 | 01-04-2013 | 1
我确实有一个功能,它给我从开始日期和结束日期开始的日期。