Улей / Свинья - преобразование столбца в строку - PullRequest
0 голосов
/ 06 июня 2018

Входные данные

**Col1| Col2 | Col3 | Col4**

 2  | 500 | 50 | 100

Как преобразовать столбцы в строки в улье или свинье?

Ожидаемый результат:

**Column  | Value**

Col1  |   2

Col2  | 500

Col3  | 50

Col4  | 100

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

ВЫБРАТЬ col1, col2 ОТ (ВЫБЕРИТЕ КАРТУ ('Col1', Col1, 'Col2', Col2, 'Col3', Col3, 'Col4', Col1) AS tmp FROM mytable) mytab EXPLODE LATERAL VIEW EXPLODE (mytab.tmp)explode_tmp AS col1, col2

0 голосов
/ 06 июня 2018

Вы ищете UNPIVOT.

SELECT 'Col1' as 'Column' ,Col1  AS Value FROM htable
UNION ALL
SELECT 'Col2' as 'Column' ,Col3  AS Value FROM htable
UNION ALL
SELECT 'Col3' as 'Column' ,Col3  AS Value FROM htable
UNION ALL
SELECT 'Col4' as 'Column' ,Col4  AS Value FROM htable
...