一个表 有以下结构的数据类型   年份   序号
----------------
AA    2008  111111
BB    2008  222222
AA    2007  333333
BB    2007  444444
........
........==============>>>
怎么转成一行记录 DECODE 怎么写 或者 case when  , 类型和年份确定一个序号2008年类型AA      2008年类型BB    2007年类型AA  2007年类型BB
---------------------------------------------------------
111111                222222       333333     444444

解决方案 »

  1.   

    假设表table
    type 类型 years 年份 seq 序号
    每种类型每个年份只有一条纪录select max(decode(type,'AA',decode(years,'2008',seq,null),null)) "2008年类型AA",
    max(decode(type,'BB',decode(years,'2008',seq,null),null)) "2008年类型BB",
    max(decode(type,'AA',decode(years,'2007',seq,null),null)) "2007年类型AA",
    max(decode(type,'BB',decode(years,'2007',seq,null),null)) "2007年类型BB",
    from table