首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

请问一个比较复杂的SQL查询语句

2012-01-05 
请教一个比较复杂的SQL查询语句表A :纪录如下网上代理号收件人地址联系电话编号H76胡A敬龙布艺城23360313H

请教一个比较复杂的SQL查询语句
表A :纪录如下
网上代理号 收件人地址 联系电话 编号
H76 胡A敬龙布艺城 23360313 HH003269905CN

H47 吴A志达 23882238 HH003270316CN

H21 叶A沙头大道140号 13XXX828071HH003270611CN
H49 叶A沙头大道140号 13XXX828071HH003270611CN
H97 叶A沙头大道140号 13XXX828071HH003270611CN
H00 叶A沙头大道140号 13XXX828071HH003270611CN

H73 苏A晖楼强虹公司 13XXX930094HH003273768CN
H92 苏A晖楼强虹公司 13XXX930094HH003273768CN
H48 苏A晖楼强虹公司 13XXX930094HH003273768CN


根据编号相同的,将对应的'网上代理号'合并,各个‘网上代理号’用'/'隔开,需要的查询结果是:(如下)

网上代理号 收件人地址 联系电话 编号
H76 胡A敬龙布艺城 23360313 HH003269905CN

H47 吴A志达 23882238 HH003270316CN

H21/H49/H97/H00 叶A沙头大道140号 13XXX828071HH003270611CN
H73/H92/H48 苏A晖楼强虹公司 13XXX930094HH003273768CN

请问改如何操作?

[解决办法]
参考一下这个,懒得改了

select column2 ,column3, max(substr(sys_connect_by_path(column1, ','), 2)) column1 from (
select column1,column2 ,column3, colc, lead(colc) over(partition by id order by colc) cold from (
select column1,column2 ,column3, row_number() over(order by column2 ,column3) colc from tab) )
start with cold is null
connect by prior colc=cold
group by column2 ,column3;

热点排行