表一
Name | jason
-----------------
Manager | yyy
-----------------
region | aaa
-----------------
Code | 123
-----------------
Level | 2
-----------------
Status | 2 表二
Name | Manager | region | Code | Level | Status
----------------------------------------------------
jason| yyy | aaa 1 | 23 | 2 | 2
表一的字段为 Name,jason ,其他下面对应的为数据 表二的字段为 Name,Manager,region,Code,Level,Status,其他下面为对应的数据 问题, 如何将表一的数据和字段 扭转成 表二的数据和字段
Name | jason
-----------------
Manager | yyy
-----------------
region | aaa
-----------------
Code | 123
-----------------
Level | 2
-----------------
Status | 2 表二
Name | Manager | region | Code | Level | Status
----------------------------------------------------
jason| yyy | aaa 1 | 23 | 2 | 2
表一的字段为 Name,jason ,其他下面对应的为数据 表二的字段为 Name,Manager,region,Code,Level,Status,其他下面为对应的数据 问题, 如何将表一的数据和字段 扭转成 表二的数据和字段
decode(name,'Manager',jason) Manager ,
decode(name,'region',jason) region,
decode(name,'Code',jason) Code,
decode(name,'Level',jason) Level,
decode(name,'Status',jason) Status
from 表一;
sum(decode(name,'Manager',yyy,null)) Manager,
sum(decode(name,'region',aaa,null)) region,
sum(decode(name,'Code',123,null)) Code,
sum(decode(name,'Level',2,null)) Level,
sum(decode(name,'Status',2,null)) Status
from 表1
group by name;
不知道LZ是不是这个意思?
这是表一的结构
create table a
(
aname varchar2(20),
jason varchar2(20)
);
insert into a values('Manager','yyy');
insert into a values('region','aaa');
insert into a values('code','123');
insert into a values('alevel','2');
insert into a values('status','2');
select * from a;
这是表二的结构
create table b
(
aname varchar2(20),
manager varchar2(20),
region varchar2(20),
code varchar2(20),
alevel varchar2(20),
status varchar2(20)
);
现在问题就是如何把表一的数据插入表二 (表二数据正确的应该如下:)
insert into b values('jason','yyy','aaa','123','2','2');select * from b;
insert into b
select 'jason' aname,
Max(decode(aname,'Manager',jason)) Manager ,
Max(decode(aname,'region',jason)) region,
Max(decode(aname,'code',jason)) code,
Max(decode(aname,'alevel',jason)) alevel,
Max(decode(aname,'status',jason)) status
from a GROUP BY 1;