oracle
将两行记录合并为一行
2008-11-21 15:44:23|
分类:
学习
|
标签:
|
字号
大中小
订阅
表结构为:(每个名称对应只会有两条记录)
name mobile
abc 137********
abc 136********
bcd 135********
bcd 135********
cde 139********
要得到查询结果为:
name moble1 mobile2
abc 137******** 136********
bcd 135******** 135********
cde 139********
with temp_table as
(
select name, mobile ,
rank() over (partition by xcode order by mobile)
as num
from tableName
)
select a.name, a.mobile mobile1 , b.mobile mobile2
(
select * from temp_table where num = 1
) a left join
(
select * from temp_table where num = 2
) b on a.name= b.name