大过年的,求助oracle问题

cyky_yoyo 2013-02-07 02:46:37
这个是我写的sql语句
select count(考勤天数),员工ID,月份 from 考勤表 group by 员工ID,月份;

下边这个是查询出来的结果:
考勤天数 员工ID 月份
28 A 4
26 A 3
25 A 2
28 B 3
26 B 2
27 C 4
30 C 3
27 C 2



我想让它查询出这样的显示结果怎么做呢?
员工ID 4月 3月 2月
A 28 26 25
B 0 28 26
C 27 30 27


要用oracle中的sql实现,亲们,没人帮就回不去了。
...全文
761 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyky_yoyo 2013-04-02
  • 打赏
  • 举报
回复
我解决了
nwwygs 2013-02-18
  • 打赏
  • 举报
回复
SAMPLE: create table test (times number, months number, emp varchar2(20)); --drop table test; insert into test values(28,2,'A'); insert into test values(29,3,'A'); insert into test values(30,4,'A'); insert into test values(31,3,'B'); insert into test values(29,4,'B'); insert into test values(26,2,'C'); insert into test values(30,3,'C'); insert into test values(27,4,'C'); SELECT * FROM TEST; TIMES MONTHS EMP 1 28 2 A 2 29 3 A 3 30 4 A 4 31 3 B 5 29 4 B 6 26 2 C 7 30 3 C 8 27 4 C select EMP, SUM(DECODE(MONTHS, 2, TIMES, 0)) AS FEB ,SUM(DECODE(MONTHS, 3, TIMES, 0)) AS MARCH ,SUM(DECODE(MONTHS, 4, TIMES, 0)) AS APRIL from test GROUP BY EMP; EMP FEB MARCH APRIL 1 A 28 29 30 2 B 0 31 29 3 C 26 30 27
小海葵1 2013-02-08
  • 打赏
  • 举报
回复
select b,max(decode(c,4,a,0)) as April,max(decode(c,3,a,0)) as March,max(decode(c,2,a,0)) as Feb from t group by b --11g SELECT * FROM t PIVOT(sum(a) FOR c IN (4 as April, 3 as March, 2 as Feb))
善若止水 2013-02-08
  • 打赏
  • 举报
回复
先依据每个员工的id进行行列转换,把月份的值由行转换为列,需要用到case when 语句。然后再依据每个员工id,进行group by,这就行了。具体的做法就像1楼一样。
cosio 2013-02-07
  • 打赏
  • 举报
回复
--sql with T as (select 28 a , 'A' b , 4 c from dual union all select 26 , 'A' , 3 from dual union all select 25 , 'A' , 2 from dual union all select 28 , 'B' , 3 from dual union all select 26 , 'B' , 2 from dual union all select 27 , 'C' , 4 from dual union all select 30 , 'C' , 3 from dual union all select 27 , 'C' , 2 from dual ) select b,sum(case when c=4 then a else 0 end) as April, sum(case when c=3 then a else 0 end) as March, sum(case when c=2 then a else 0 end) as Feb from t group by b --result: A 28 26 25 B 0 28 26 C 27 30 27

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧