Преобразование значений таблицы в имена столбцов | Ценности
У меня есть таблица с двумя столбцами, имя и значение:
Name Value
col1 value1
col2 value2
col3 value3
Теперь я хочу выбрать из таблицы таким образом, чтобы имя стало именем столбца, а значение стало значением для каждого столбца.
col1 col2 col3
value1 value2 value3
Я пишу запрос в Vertica, но подойдет любая логическая помощь.
1 ответ
Попробуйте использовать DECODE для этого.
Смотрите пример:
create table bla (
name varchar(10),
value varchar(10)
);
insert into bla values ('col1','value1');
insert into bla values ('col2','value2');
insert into bla values ('col3','value3');
SELECT
MAX( DECODE( name , 'col1' , value ) ) AS col1 ,
MAX( DECODE( name , 'col2' , value ) ) AS col2 ,
MAX( DECODE( name , 'col3' , value ) ) AS col3
FROM bla
--выход
col1 col2 col3
value1 value2 value3