请教行转列语句

grace_ally 2012-02-07 08:29:44
表1

product bomid qnt type
a 1 1 压缩机
a 2 1 压缩机
a 3 2 电机
b 4 1 电机
b 5 2 压缩机
b 6 1 电机

希望生成

product 压缩机1编码 qnt 压缩机2编码 压缩机2数量 电机1编码 电机1数量 电机2编码 电机2数量
a 1 1 2 2 3 2 0 0
b 5 2 0 0 4 1 6 1

请各位高手指点一下,谢谢.


...全文
47 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xpingping 2012-02-08
  • 打赏
  • 举报
回复
with tb as(
select 'a' product, 1 bomid ,1 qnt, '压缩机' type from dual union all
select 'a' ,2 ,1 ,'压缩机' from dual union all
select 'a' ,3 ,2 ,'电机' from dual union all
select 'b' ,4 ,1 ,'电机' from dual union all
select 'b' ,5 ,2 ,'压缩机' from dual union all
select 'b' ,6 ,1 ,'电机' from dual )
select product,
sum(case when bomid =1 or bomid=5 then bomid else 0 end ) 压缩机1编码,
sum(case when bomid =1 or bomid=5 then qnt else 0 end ) qnt ,
sum(case when bomid =2 then bomid else 0 end ) 压缩机2编码,
sum(case when bomid =2 then qnt else 0 end ) 压缩机2数量 ,
sum(case when bomid =3 or bomid=4 then bomid else 0 end )电机1编码,
sum(case when bomid =3 or bomid=4 then qnt else 0 end ) 电机1数量,
sum(case when bomid =6 then bomid else 0 end ) 电机2编码,
sum(case when bomid =6 then qnt else 0 end ) 电机2数量
from tb
group by product

只是针对数据,木有太大意义……

17,089

社区成员

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

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