【pg 列转行】大大的实用主义

CREATE TABLE highTable
(
  id serial NOT NULL,
  value integer,
  name character varying,
  zbfm character varying,
  CONSTRAINT pkey PRIMARY KEY (id)
)

insert into highTable values ('甲','年龄',12);
insert into highTable values ('甲','身高',95);
insert into highTable values ('甲','体重',31);
insert into highTable values ('乙','年龄',13);
insert into highTable values ('乙','身高',67);
insert into highTable values ('乙','体重',23);
insert into highTable values ('丙','年龄',15);
insert into highTable values ('丙','身高',85);
insert into highTable values ('丙','体重',56);
insert into highTable values ('丁','身高',89);
insert into highTable values ('丁','年龄',36);
insert into highTable values ('丁','体重',76);


select name
    ,string_agg((case zbfm when '年龄' then value::varchar end),'') as 年龄
    ,string_agg((case zbfm when '身高' then value::varchar end),'') as 身高
    ,string_agg((case zbfm when '体重' then value::varchar end),'') as 体重
from highTable
GROUP BY 1;

  

posted @ 2021-09-25 22:44  bug_killer  阅读(228)  评论(0编辑  收藏  举报