求统计某个月所有天的统计信息
我有这样一张表及数据:
日期 班次 值日人员
6月1日 白 张飞
6月1日 夜 刘备
6月3日 白 黄忠
6月3日 夜 赵云
6月8日 白 关羽
6月9日 夜 张飞
6月10日 白 曹操
6月20日 白 赵云
我想生成这样一张视图:
从 6月1日 到 6月30日都有记录,即使这天没人值班。
日期 白 夜
6月1日 张飞 刘备
:
:
:
6月20日 赵云 null
:
:
6月30日 null null
求高手指点。谢谢!
------解决方案--------------------with tt as(
select '6月1日' 日期,'白' 班次,'张飞' 值日人员 from dual union all
select '6月1日','夜','刘备' from dual union all
select '6月3日','白','黄忠' from dual union all
select '6月3日','夜','赵云' from dual union all
select '6月8日','白','关羽' from dual union all
select '6月9日','夜','张飞' from dual union all
select '6月10日','白','曹操' from dual union all
select '6月20日','白','赵云' from dual)
select 日期,wm_concat(decode(班次,'白',值日人员)) 白,wm_concat(decode(班次,'夜',值日人员)) 夜
from tt
group by 日期;
------解决方案--------------------with tt as
(select '2013-06-01' 日期, '白' 班次, '张飞' 值日人员
from dual
union all
select '2013-06-01', '夜', '刘备'
from dual
union all
select '2013-06-03', '白', '黄忠'
from dual
union all