数据:
1.秦淮区
2.南京市
3.江苏省查询得到结果:
省 市 区
江苏省 南京市 秦淮区怎么行转列啊 貌似用DECODE加GROUP BY 无法进行转换操作啊sql行转列

解决方案 »

  1.   

    SELECT * from  t PIVOT (MAX(a) FOR A IN ('秦淮区','南京市','江苏省')) 
      

  2.   


    很简单的行转列啊:with ax as(
    select '秦淮区' name from dual union all
    select '南京市' name from dual union all
    select '江苏省' name from dual
    )
    select 
    max(case when instr(name,'省')>0 then name end) 省,
    max(case when instr(name,'市')>0 then name end) 市,
    max(case when instr(name,'区')>0 then name end) 区
    from ax;
    省     市     区
    ------ ------ ------
    江苏省 南京市 秦淮区