日期:2014-05-17  浏览次数:20974 次

典型行转列,请高手赐教,快速散分结贴!
当前数据:

AID       BID      Bname     AKey    AValue   
F320      4C61      ZS        1        P1
F320      9FB1      LS        2        P2
F320      4C61      ZS        2        P2
F320      4C61      ZS        3        P3


想要结果:

AID    BID      Bname   AKey  AKey  AKey   AValue  AValue  AValue  
F320   4C61      ZS      1     2     3       P1     P2      P3
F320   9FB1      LS      0     2     0       0      P2      0  


即:将相同BID的多行转为转为一行多列,(以同一BID最多行的Akey和AValue为准[如上面的最多BID为4C61:3个Akey和3个AValue都显示出来],且最多BID的行数不确定(同一BID>=N行),其它的BID存在值的按对应的位置显示,无值的以0来替代.)

------解决方案--------------------
大晚上的 不休息 白天休息么 
------解决方案--------------------
看着 和下午那贴差不多类型 无非是不以值为字段别名

求一个行转列的做法
------解决方案--------------------
create or replace procedure row_to_col(tabname in varchar2,
                                  group_col in varchar2,
                                  column_col in varchar2,
                                  value_col in varchar2,
                                  Aggregate_func in varchar2 default 'max',
           &n