我有一张包含两列的表格,名称&值:
Name Value
col1 value1
col2 value2
col3 value3
现在,我想以这样的方式从表中选择 名称变为列名称,值变为每列的值
col1 col2 col3
value1 value2 value3
我在Vertica中编写查询,但任何形式的逻辑帮助都可以。
答案 0 :(得分:2)
尝试使用 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