仅使用sql在oracle中将列转换为行

仅使用sql在oracle中将列转换为行,sql,oracle,oracle10g,pivot,Sql,Oracle,Oracle10g,Pivot,如何将列转换为表的行,包括oracle中的标题 slno id name 1 A XXXX 2 B YYYY 3 C ZZZZ 4 D MMMM 我想要像这样的输出 col1 col2 col3 col4 slno 1 2 3 4 id A B C D name XXXX YYYY ZZZZ MMMM 我已经在ms sql上使用过它,可能这会有所帮助,您可以根据oracle进行一些更改 select * fro

如何将列转换为表的行,包括oracle中的标题

slno id name
1    A  XXXX
2    B  YYYY
3    C  ZZZZ
4    D  MMMM
我想要像这样的输出

     col1 col2 col3 col4
slno 1    2    3    4
id   A    B    C    D
name XXXX YYYY ZZZZ MMMM

我已经在ms sql上使用过它,可能这会有所帮助,您可以根据oracle进行一些更改

select * from(
  select slno,id,name from [tablename]
) abc
pivot
(
  slno,id,name for [Group]
  in (col1,col2,col3)
)
as pvt
我在使用AdventureWorks2012数据库 我在这里用过

select * from(
  select [CountryRegionCode],[Group],[SalesYTD] from [Sales].[SalesTerritory]
) abc
pivot
(
  sum([SalesYTD]) for [Group]
  in ([North America], [Europe],[Pacific])
)
as pvt

也许unpivot会有帮助?我一直只使用pivot,所以我真的不知道。这通常是由客户完成的。您使用什么工具来呈现这些数据?