Sql 将多行合并到一列中
我必须创建一个基于2个文件的报告,表1是主文件,表2是属性文件。可以连接这两个文件并创建下面的结果表 表1: 身份证件 全国矿工联盟 A. 1. B 1. B 2.Sql 将多行合并到一列中,sql,join,Sql,Join,我必须创建一个基于2个文件的报告,表1是主文件,表2是属性文件。可以连接这两个文件并创建下面的结果表 表1: 身份证件 全国矿工联盟 A. 1. B 1. B 2. 您需要一个聚合。你可以做: select a.id, max(a.num) as num, max(case when b.attr = 'ATR1' then b.val end) as attr1, max(case when b.attr = 'ATR2' then b.val end) as attr2,
您需要一个聚合。你可以做:
select
a.id,
max(a.num) as num,
max(case when b.attr = 'ATR1' then b.val end) as attr1,
max(case when b.attr = 'ATR2' then b.val end) as attr2,
max(case when b.attr = 'ATR3' then b.val end) as attr3
from table1 a
join table2 b on a.id = b.id
group by a.id
你正在寻找一个支点。它有多复杂取决于您的RDBMS。根据您生成报告的情况,您可能只希望在工具中处理此问题。