小编use*_*682的帖子

从同一列聚合多个值作为连接字符串(10g)

我有一个很长的查询,跨多个表,我将四个值连接为所有者(名字,中间名和姓氏+组织).所有其他列都是相同的,但有多个所有者,因此,我想聚合多行.

我所看到的是(配对)

#     Owner
1     Sam Smith, AAA
2     Stan Bird, BBB
2     Nancy Bird, BBB
3     Mike Owen, CCC
Run Code Online (Sandbox Code Playgroud)

我想看到的是

#     Owner
1     Sam Smith, AAA
2     Stan Bird, Nancy Bird, BBB
3     Mike Owen, CCC
Run Code Online (Sandbox Code Playgroud)

注意事项:

  • 我无法创建功能(缺少权限)
  • 使用Oracle 10g
  • 我试过CASE(COLLECT...但这会杀死我的联系:

    错误 - "无法从套接字读取更多数据"

    SysAdmin,不知道为什么

  • WM_CONCAT只是重复一个所有者(有时是20次)并且没有给出所需的结果.

我尝试过其他一些事情,没有运气.我当前的查询产生了所需的行数,但只是砍掉了第二个所有者.

我不确定在这里发布整个查询是否明智.请告诉我这是否有帮助.


更新2012-01-29

wm_concat之前我使用不正确,但是当我使用它时,我收到此错误:

 ORA-06502: PL/SQL: numeric or value error: character string buffer too
 small ORA-06512: at "WMSYS.WM_CONCAT_IMPL", line 30
 06502. 00000 -  "PL/SQL: numeric or value error%s"
 *Cause:    
 *Action: …
Run Code Online (Sandbox Code Playgroud)

sql aggregate oracle10g

0
推荐指数
1
解决办法
2626
查看次数

标签 统计

aggregate ×1

oracle10g ×1

sql ×1