关于查询数据的调整

关于查询数据的整合
数据库中查询的到
员工          日期                时间            考勤类型 
a           20140707          8:30:20        输入
a           20140707          9:30:22        输出
a           20140707          10:30:20      输入
a           20140707          12:30:20      输出
a           20140708           8:14:20      输入
a           20140708          12:30:20      输出
orale如何编写sql使得查询为
员工          日期               上班打卡            下班打卡     上班时间   
a           20140707          8:30:20              9:30:22          1
a           20140707          10:30:20           12:30:20         2
a           20140708           8:14:20            12:30:20          4.16

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

数据库中查询的到
员工          日期                时间            考勤类型 
a           20140707          8:30:20        输入
a           20140707          9:30:22        输出
a           20140707          10:30:20      输入
a           20140707          12:30:20      输出
a           20140708           8:14:20      输入
a           20140708          12:30:20      输出
orale如何编写sql使得查询为
员工          日期               上班打卡            下班打卡     上班时间   
a           20140707          8:30:20              9:30:22          1
a           20140707          10:30:20           12:30:20         2
a           20140708           8:14:20            12:30:20          4.16


with t as
 (select 'a' nm, '20140707' dt, '8:30:20' tm, 'input' typ
    from dual
  union all
  select 'a' nm, '20140707' dt, '9:30:22' tm, 'output' typ
    from dual
  union all
  select 'a' nm, '20140707' dt, '10:30:20' tm, 'input' typ
    from dual
  union all
  select 'a' nm, '20140707' dt, '12:30:20' tm, 'output' typ