如何在oracle表中包含列名和字段

时间:2018-04-11 17:35:29

标签: sql oracle plsql

我正在尝试将列标题和相应字段插入另一个表中。

Table1 :

col1    col2   col3   col4
1       2       3      4

输出应如下所示:

COL_A   COL_B   COL_C     COL_D    COL_E     COL_F      COL_G    COL_H 

col1    1       col2       2       col3       3         col4     4       

我尝试应用unpivot,但是unpivot给我的列名垂直不是水平的。

请帮助!!

1 个答案:

答案 0 :(得分:3)

UNPIVOT然后PIVOT

SQL Fiddle

SELECT *
FROM (
    SELECT *
    FROM Table1
    UNPIVOT(val FOR col IN (
                COL1
                ,COL2
                ,COL3
                ,COL4
                ))
    )
PIVOT(MAX(COl || ' ' || VAL) FOR COL IN (
             'COL1' as VAL1
            ,'COL2' as VAL2
            ,'COL3' as VAL3
            ,'COL4' as VAL4
            ))

<强> Results

|   VAL1 |   VAL2 |   VAL3 |   VAL4 |
|--------|--------|--------|--------|
| COL1 1 | COL2 2 | COL3 3 | COL4 4 |