Oracle中有没有这样的功能:
例如:
table_a:
col_1,col_2
'col_a',11111
'col_b',22222
||
\/
table_b:
col_a,col_b
11111,22222即,将table_a表中的col_1列的数据是table_b表的列名,并将table_a表中的col_2字段的数据填到table_b表中对应的字段。
例如:
table_a:
col_1,col_2
'col_a',11111
'col_b',22222
||
\/
table_b:
col_a,col_b
11111,22222即,将table_a表中的col_1列的数据是table_b表的列名,并将table_a表中的col_2字段的数据填到table_b表中对应的字段。
只想到了动态sql拼接,别的不知道
过奖过奖,对Oracle不熟悉,但是我认为Oracle很强大,所以,我总认为,我能想到的东西可能Oracle已经实现了!
本帖子的问题类似Excel的数据透视功能。因为table_a的数据表非常大,有可能上千万条数据,用动态SQL来转,我真担心效率问题。
table_a:
date,col_1,col_2
d1,'col_a',11111
d1,'col_b',22222
d2,'col_a',33333
d2,'col_b',44444
¦ ¦
\/
table_b:
date,col_a,col_b
d1,11111,22222
d2,33333,44444
select dt,
decode(col_1,'col_a',col_2) col_a,
decode(col_1,'col_b',col_2) col_b
from table_a