如何将数据从一个表迁移到另一个表,表1中的行是表2中的列?



我发现了几个类似的问题,但似乎没有一个确切地回答我的问题,我不是很擅长SQL,所以这是我的问题:

我有table 1多行;

<表类> 名称 价值 tbody><<tr>name1v1name2v2name3v3name4v4name5v5

我假设您想要聚合结果并插入到一个空表中。查询中的名称不必匹配。相关的是括号中列出的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

相关内容

  • 没有找到相关文章

最新更新