需要使用oracle中的行映射多个列

时间:2014-07-21 22:15:20

标签: sql oracle

我有像

这样的列

U1,U2,U3,U4在一个表A中,其值为

1  3  5  5
3  4  8  9

和另一个表B,其中包含值为

的列
column_map
U1
U2
U4
U1

现在我需要将表B映射到表A列并获取值

1 个答案:

答案 0 :(得分:0)

您可以在pl / sql中动态执行此操作,但我个人不知道如何操作。在使用动态方法的更好答案之前,您至少可以使用以下内容,但如果表中有很多列,那么编写它会很烦人:

select 'U1' as column_map, u1 as col_value from tablea union all
select 'U2', u2 from tablea union all
select 'U3', u3 from tablea union all
select 'U4', u4 from tablea

....依此类推,直到您选择了所有列。