Pivot/Unpivot SQL 结果集列名到单独的列中
Pivot/Unpivot SQL Result Set Column Names into Separate Column
我有这样的结果集:
Username
Birthday
Gender
Tom
Jan 23
Male
我想把它转换成这样:
Name
Value
Username
Tom
Birthday
Jan 23
Gender
Male
有人告诉我 Pivot/Unpivot 是我要找的东西,但我找不到任何关于提取列名称的信息。
有办法吗?
您需要像下面这样使用 unpivot 子句:
select *
from Your_Table t
unpivot (
value for name in (
Username as 'Username'
, Birthday as 'Birthday'
, Gender as 'Gender'
)
)
;
我有这样的结果集:
Username | Birthday | Gender |
---|---|---|
Tom | Jan 23 | Male |
我想把它转换成这样:
Name | Value |
---|---|
Username | Tom |
Birthday | Jan 23 |
Gender | Male |
有人告诉我 Pivot/Unpivot 是我要找的东西,但我找不到任何关于提取列名称的信息。
有办法吗?
您需要像下面这样使用 unpivot 子句:
select *
from Your_Table t
unpivot (
value for name in (
Username as 'Username'
, Birthday as 'Birthday'
, Gender as 'Gender'
)
)
;