有如下表:
机构ID 指标ID 人数 面积 
A      001   1    10
A      001   1    11
A      001   1    12指标表基础信息如下:
指标ID 指标名称
001    人数
002    面积如何写一条SQL语句实现行到列的转换,期望的结果如下:
机构ID 指标ID 人数  
A      001   1    
A      001   1    
A      001   1    
A      002  10
A      002  10
A      002  10

解决方案 »

  1.   


    考虑全连接表
    --测试数据:
    drop table sa;
    create table sa
    (
           a01 nvarchar2(5),
           a02 nvarchar2(10),
           a03 int,
           a04 int
    );
    drop table sb;
    create table sb 
    (
          b01 nvarchar2(4)
          ,b02 nvarchar2(10)
    );insert into .....--SQL:
    select a.a01,b01,a.nn from
    (select a01,b01,(case when b01='001' then a03 else min(a04) end) nn from sa,sb
    group by a01,b01,a03) A
    left outer join 
    sa on a.a01=sa.a01
    order by b01
    --RESULT:
    A 001 1
    A 001 1
    A 001 1
    A 002 10
    A 002 10
    A 002 10