oracle列转行,该怎么解决

oracle列转行
数据库一张表表结构如下
1 A  B C D
2 A  B C 
如何变成
1 A
1 B
1 C
1 D
2 A 
2 B
2 C

------解决方案--------------------
除了上面的,你也可以了解一下pivot,unpivot的语法,也可以实现
------解决方案--------------------
如果其他列是相同的数据类型,用union all是最直接的,但是如果其他列是不同的数据类型,只能用pivot了