套餐编号 指令代码 指令类型(0代表订购,1代表退订)
1001 aaa 0
1001 bbb 1
1002 hhh 1
1002 iii 0
想得到的结果集如下
套餐编号 订购代码 退订代码
1001 aaa bbb
1002 iii hhh
4 个解决方案
#1
select 套餐编号,
MAX(DECODE(指令类型,0,指令代码)) AS 订购代码,
MAX(DECODE(指令类型,1,指令代码)) AS 退订代码
from T
GROUP BY 套餐编号
#2
1楼的就可以了,常规的行转列,decode,case when,11g以上还可以用pivot。
#3
SELECT *
FROM t1 pivot(max(t1.指令代码) for 指令类型 in('0' as 订购代码, '1' as 退订代码))
#4
谢谢以上各位的帮助!问题已解决
#1
select 套餐编号,
MAX(DECODE(指令类型,0,指令代码)) AS 订购代码,
MAX(DECODE(指令类型,1,指令代码)) AS 退订代码
from T
GROUP BY 套餐编号
#2
1楼的就可以了,常规的行转列,decode,case when,11g以上还可以用pivot。
#3
SELECT *
FROM t1 pivot(max(t1.指令代码) for 指令类型 in('0' as 订购代码, '1' as 退订代码))
#4
谢谢以上各位的帮助!问题已解决