Oracle:一个表中字段合并怎么做?根据一个字段标识来合并多条数据

Oracle:一个表中字段合并怎么做?根据一个字段标识来合并

在这里插入图片描述
如这样的cust表,同一cust_id,不同的字段数据穿插,导致出现了两条,其中num为区分字段,那么我们想将两条数据合并成一个cust_id 的数据。

也就是想要做成这样的结过结果表在这里插入图片描述

其实可以通过left join关联,通过num区分

首先我们可以写一下sql语句,来查一下关联的结果:
select *
from cust a
left join cust b
on a,cust_id= b.cust_id
where a.num =‘1’ and b.num='2’

结果如下:
在这里插入图片描述
可以看出no_a,no_aa,no_b,no_bb在一条数据当中

为了得到上面的结果表我们就可以以这种方式直接取字段了
select
a.cust_id,
a.no_a,
a.no_aa,
b.no_b,
b.no_bb,
from cust a
left join cust b
on a,cust_id= b.cust_id
where a.num =‘1’ and b.num=‘2’

就会得到如下结果:
在这里插入图片描述
这样就将同一cust_id得数合并成一条了