有A表,怎么变成B表输出
A表
编号 房间 数量 负责
1 A 20 张三
2 B 40 李四
3 A 50 王五
4 A 50 赵六
5 C 70 张三
C
1 负责 A B C
2 张三 20 0 70
3 李四 0 40 0
4 王五 050 0 0大概是这个意思,,有没有大神说下啊
A表
编号 房间 数量 负责
1 A 20 张三
2 B 40 李四
3 A 50 王五
4 A 50 赵六
5 C 70 张三
C
1 负责 A B C
2 张三 20 0 70
3 李四 0 40 0
4 王五 050 0 0大概是这个意思,,有没有大神说下啊
select 1 编号,'A' 房间,20 数量,'张三' 负责 from dual
union all
select 2,'B',40,'李四' from dual
union all
select 3,'A',50,'王五' from dual
union all
select 4,'A',50,'赵六' from dual
union all
select 5,'C',70,'张三' from dual
)
select 负责,
sum(decode(房间, 'A', 数量, 0)) A,
sum(decode(房间, 'B', 数量, 0)) B,
sum(decode(房间, 'C', 数量, 0)) C
from a
group by 负责;
负责 A B C
---- ---------- ---------- ----------
王五 50 0 0
张三 20 0 70
李四 0 40 0
赵六 50 0 0
SQL> with a as( select 1 id,'A' room,20 amount,'san' office from dual union all select 2,'B',40,'si' from dual union all select 3,'A',50,'wu' from dual union all select 4,'A',50,'liu' from dual union all select 5,'C',70,'san' from dual ) select office, sum(decode(room, 'A', amount, 0)) A, sum(decode(room, 'B', amount, 0)) B, sum(decode(room, 'C', amount, 0)) C from nn group by office; OFFICE A B C
------------ ---------- ---------- ----------
san 0 0 0
liu 0 0 0
si 0 0 0
wu 0 0 0