Преобразовать имя столбца в строке - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь преобразовать имя столбца в значение строки. Результатом должно быть два столбца (ключ, значение) с именем столбца и результатом. Возможно ли это?

Select Column1, Column2, Column3 From Table A

Результат:

Column1 | Column2 | Column3
John    | Monica  | Antony

Я хочу преобразовать в:

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

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

если unpivot поддерживает ваши dbms, вы можете сделать

select u.key,u.VALUE
from table s
unpivot
(
  VALUE
  for Key in (Column1, Column2, Column3)
) u
0 голосов
/ 06 ноября 2019

Вы можете использовать union all для отмены вызова:

select 'Column1' key, column1 value from tableA
union all select 'Column2' key, column2 from tableA
union all select 'Column3' key, column3 from tableA

Некоторые СУБД имеют встроенные функции для отключения;union all - решение для нескольких СУБД.

...