将数据从标题级别转换为行级别

时间:2014-09-25 19:58:48

标签: sql oracle plsql

如何使用plsql将数据从标题级别转换为行级别?

假设我有一张包含以下内容的表:

Project | Code1 | Code2 | Code3
      1 |   a   |   b   |   c
      2 |   a   |   d   |

如何拆分代码列并将它们合并为一列(见下文):

Project | Code
      1 |  a
      1 |  b
      1 |  c
      2 |  a
      2 |  d

我试过" Union All"但查询花了很长时间。也许我做错了。

1 个答案:

答案 0 :(得分:2)

您可以使用unpivot命令:

select project, codevalue
from yourtable
unpivot (codevalue
         for code in (code1, code2, code3)
  )