较难的记录合并问题

letqqqgo 2007-04-13 04:44:11
tab1表有下列数据
id val1 ...
0001 a
0002 b1
0002 b2
0003 c
0004 d
0005 e1
0005 e2
0005 e3
0006 f
0007 g
.
.
.
以上同一id的数据除val1的值不同外,其它字段完全相同,现要在用最高的效率(表很大,不能使用函数或存储过程,只能在一条中直接select出来)
实现以下形式:
0001 a
0002 b1/b2
0003 c
0004 d
0005 e1/e2/e3
0006 f
0007 g
.
.
.
尝试过用lag(),lead()这些方法,但不知道有多少条同id,效果不理想。
有什么好方法,请各位赐教。
...全文
210 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
likgui 2007-04-14
  • 打赏
  • 举报
回复
关注!
qiaozhiwei 2007-04-13
  • 打赏
  • 举报
回复
用过程吧,不会比写一个复杂难懂的SQL差多少的
letqqqgo 2007-04-13
  • 打赏
  • 举报
回复
因为要即时取数据(对数据的即时性较高),要把id相同的行融合成一行显示。我的意思是只能
select distinct ... from tab1,而其中的...部分不使用函数,这样速度应该有保障,
而不能对tab1表进行过多的处理。
Eric_1999 2007-04-13
  • 打赏
  • 举报
回复
表很大,不能使用函数或存储过程,只能在一条中直接select出来

什么意思?用sql来实现?用sql就会快很多马?

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧