I have a result set something like this:
Username | Birthday | Gender |
---|---|---|
Tom | Jan 23 | Male |
I would like to convert it to something like this:
Name | Value |
---|---|
Username | Tom |
Birthday | Jan 23 |
Gender | Male |
I’ve been told Pivot/Unpivot was what I was looking for, but I can’t find any info on pulling the column names.
Is there a way to do this?
Advertisement
Answer
You need to use unpivot clause like below :
x
select *
from Your_Table t
unpivot (
value for name in (
Username as 'Username'
, Birthday as 'Birthday'
, Gender as 'Gender'
)
)
;