假设一条sql语句(sql1)查询出的结果为下图

怎样用一条sql将其转换成如下图

------解决思路----------------------
create table t3 (a varchar2(30),b number,c varchar2(30))
insert into t3 values('010101',2,'护工');
insert into t3 values('010102',1,'医师');
insert into t3 values('010101',1,'医师');
insert into t3 values('010102',1,'护工');
insert into t3 values('010101',1,'管理人员');
insert into t3 values('010201',1,'厨师');
insert into t3 values('010101',1,'护士');
select * from t3;
select a,
sum(decode(c, '护工', b, 0)) as "护工",
sum(decode(c, '医师', b, 0)) as "医师",
sum(decode(c, '管理人员', b, 0)) as "管理人员",
sum(decode(c, '厨师', b, 0)) as "厨师",
sum(decode(c, '护士', b, 0)) as "护士"
from t3
group by a
基础的行列转换,网上例子应该很多
------解决思路----------------------
如果你这些数据是来源于别的表 count 来的,就可以直接 count + case when 或 count + decode ,如楼主所写。