请问,如何实现数行列转换?急。。。。。。
如:表table1有如下记录
民族
---------------
汉族
枪族
回族
彝族
现我想把它转换为
汉族 枪族 回族 彝族
请问怎么转换?
------解决方案--------------------结果表里要的是什么数据,每个民族的人数?
------解决方案--------------------select
sum(decode(a.民族, '汉族 ',a.人数,0)) as 汉族,
sum(decode(a.民族, '枪族 ',a.人数,0)) as 枪族,
sum(decode(a.民族, '回族 ',a.人数,0)) as 回族,
sum(decode(a.民族, '彝族 ',a.人数,0)) as 彝族
from table a
------解决方案--------------------good
------解决方案--------------------select
sum(decode(a.民族, '汉族 ',a.人数,0)) as 汉族,
sum(decode(a.民族, '枪族 ',a.人数,0)) as 枪族,
sum(decode(a.民族, '回族 ',a.人数,0)) as 回族,
sum(decode(a.民族, '彝族 ',a.人数,0)) as 彝族
from table a;
------解决方案--------------------不定列行列转换
这一类型的转换可能要借助于PL/SQL来完成
没试过,从网上搜搜