我发现了几个类似的问题,但似乎没有一个确切地回答我的问题,我不是很擅长SQL,所以这是我的问题:
我有table 1
多行;
<表类>
名称
价值
tbody><<tr>name1 v1 name2 v2 name3 v3 name4 v4 name5 v5 表类>
我假设您想要聚合结果并插入到一个空表中。查询中的名称不必匹配。相关的是括号中列出的insert
列中的名称之间的对应关系,其顺序与select
输出的顺序相同。
insert into t2 (id, matchForN1, matchForN2, matchForN3, ...)
select
id,
min(name) filter (where name = 'name1') as n1,
min(name) filter (where name = 'name2') as n2,
min(name) filter (where name = 'name3') as n3 ...
from t1
where name in ('name1', 'name2', 'name3' ...)
group by id