Oracle相当于SQL Server STUFF功能?

Jim*_*mmy 6 oracle select

Oracle是否有自己的SQL Server stuff功能实现?

Stuff允许您从多行选择中接收一个值.考虑下面我的情况

 ID   HOUSE_REF   PERSON
 1      A         Dave
 2      A         John
 3      B         Bob
Run Code Online (Sandbox Code Playgroud)

我想写一个select语句,但我希望PERSON名称在一行中.

例如,当我从这个表中选择时,我想实现以下目标

HOUSE_REF   PERSONS
A           Dave, John
B           Bob
Run Code Online (Sandbox Code Playgroud)

到目前为止,我还没有找到一个简单的解决方案,可能是编写我自己的函数使用的情况,但我不完全确定如何处理这个,任何想法?

这个的主要业务用途是有一个显示每个房子的选择语句,并且对那个房子有一个列,列出住在那个房子里的每个人.此选择中的房屋参考必须是唯一的,因此需要连接人员

谢谢

Ton*_*ews 7

Oracle 11.2包含一个新功能LISTAGG来执行此操作.

在此之前,您可以使用Tom Kyte的STRAGG功能.


ret*_*nym 2

您可以编写自定义聚合函数来执行此操作。您生成的该字符串的长度限制为 4k 个字符。

http://www.sqlsnippets.com/en/topic-11591.html

有一个未记录的、不受支持的函数WMSYS.WM_CONCAT可以做同样的事情。

http://www.psoug.org/reference/undocumented.html