select a1,a2,a3,a4,a5,a6 from( select 'name' a1,name a2,'sex' a3,sex a4,'office' a5,office a6,row_number()over(order by rownum)+0.1 rn from test_a union all select 'jg',jg,'dz',dz,'yb',yb,row_number()over(order by rownum)+0.2 from test_a union all select 'xl',xl,null,null,null,null,row_number()over(order by rownum)+0.3 from test_a) order by rnA1 A2 A3 A4 A5 A6 name 张三 sex 男 office 办公室 jg 山西省 dz 北京 yb 000001 xl 否 name 李四 sex 男 office 物业公司 jg 广东省 dz 桂林 yb 000002 xl 是 name 王文 sex 男 office 汽车公司 jg 湖北省 dz 无锡 yb 000003 xl 否 name 何兴建 sex 男 office 学校 jg 江西省 dz 北京 yb 000004 xl 否
我们没有itpub的账号,可能还得是你本人的账号登陆,看不了
上传到别的空间,或者csdn的相册试试
点了,打开的是itpub的主页,没图
1、原始表(上为字段名,下为数据):
name sex office jg dz yb xl
张三 男 办公室 山西省 北京 000001 否现在要写一个SQL,前提数据库是用Oracle817的,让这个原始表转化为下表:2、转化后的表(第一行为字段名,下为数据):
A1 A2 A3 A4 A5 A6
name 张三 sex 男 office 办公室
jg 山西省 dz 北京 yb 000001
xl 否
(
Select t1.Rowid rid, 1 sort_no, 'name' A1, Name A2, 'sex' A3, sex A4, 'office' A5, office A6
From tab_name t1
Union All
Select t2.Rowid rid, 2 sort_no, 'jg'A1, jg A2, 'dz' A3, dz A4, 'yb' A5, yb A6
From tab_name t2
Union All
Select t3.Rowid rid, 3 sort_no, 'xl' A1, xl A2, Null A3, Null A4, Null A5, Null A6
From tab_name t3
) t4 Order By t4.rid, t4.sort_no Asc;
select a1,a2,a3,a4,a5,a6 from(
select 'name' a1,name a2,'sex' a3,sex a4,'office' a5,office a6,row_number()over(order by rownum)+0.1 rn from test_a
union all
select 'jg',jg,'dz',dz,'yb',yb,row_number()over(order by rownum)+0.2 from test_a
union all
select 'xl',xl,null,null,null,null,row_number()over(order by rownum)+0.3 from test_a)
order by rnA1 A2 A3 A4 A5 A6
name 张三 sex 男 office 办公室
jg 山西省 dz 北京 yb 000001
xl 否
name 李四 sex 男 office 物业公司
jg 广东省 dz 桂林 yb 000002
xl 是
name 王文 sex 男 office 汽车公司
jg 湖北省 dz 无锡 yb 000003
xl 否
name 何兴建 sex 男 office 学校
jg 江西省 dz 北京 yb 000004
xl 否