比如我有一张表 A 如下:
号码 联系人
13500000001 小张
13500000001 小赵
13500000001 小钱
请问:如果要达到下面这样的效果这样写SQL语句?
号码 联系人
13500000001 小张|小赵|小钱
号码 联系人
13500000001 小张
13500000001 小赵
13500000001 小钱
请问:如果要达到下面这样的效果这样写SQL语句?
号码 联系人
13500000001 小张|小赵|小钱
解决方案 »
- 我建了个QQ组,1301523 希望多多交流
- 请教高手,如何通过JDBC从Oracle数据库中读取一个blob类型的照片,并将它展示到JSP页面上?
- Oracle 10g新建数据库test后,怎么登管理界面?
- OracleOraHome90TNSListener启动路径丢失,帮帮小弟啊.
- ora-03113错误,各种方法都试了,不行,急!
- 怎样测低删除一个用户的所有对象?
- 急问几道面试考试题,在线等待,高分向送~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 如何启动oracle8i数据库服务/
- 如何在ORACLE中调整临时表空间?
- 创建Oracle procedure 输入参数后 修改多种表数据,为什么创建procedure会报错,一楼贴出代码,请帮忙看下
- 索引为什么没起作用?
- Oracle C#数据类型问题
FROM 表
GROUP BY 号码
FROM 表
GROUP BY 号码
from A
union all select 111,'bbb' from dual
union all select 111,'ccc' from dual
)
select id,max(decode(rn,1,code,0))||'|'||max(decode(rn,2,code,0))||'|'||
max(decode(rn,3,code,0))code3
from(select tt.*,row_number()over(partition by id order by code)rn from tt)
group by id
union all select 13500000001,'小赵' from dual
union all select 13500000001,'小钱' from dual
)
select 号码,max(decode(rn,1,联系人,0))||'|'||max(decode(rn,2,联系人,0))||'|'||
max(decode(rn,3,联系人,0))联系人
from(select tt.*,row_number()over(partition by 号码 order by 联系人)rn from tt)
group by 号码
from table1
group by 号码