有如下表:
机构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
机构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
考虑全连接表
--测试数据:
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