首页 > 解决方案 > 转换行中的列名

问题描述

我正在尝试将列名转换为行的值。结果应该是两列(键,值),列名和结果。可能吗?

Select Column1, Column2, Column3 From Table A

结果是:

Column1 | Column2 | Column3
John    | Monica  | Antony

我想改造:

KEY     | VALUE
Column1 | John
Column2 | Monica
Column3 | Antony

我怎样才能做到这一点?

标签: sqlsql-servertsqlunpivot

解决方案


如果 unpivot 支持您的 dbms,那么您可以这样做

select u.key,u.VALUE
from table s
unpivot
(
  VALUE
  for Key in (Column1, Column2, Column3)
) u

推荐阅读