Oracle中的Perl JOIN行为?

3
我有两个表,让我们称它们为“个人”和“姓名”。
 PERSON
  person_id
  dob

 NAME
  name_id
  person_id
  name

假设“NAME”表格中有以下数据:
name_id  person_id  name
1        1          Joe
2        1          Fred
3        1          Sam
4        2          Jane
5        2          Kim

我需要一个查询(Oracle 10g),它将返回
name_id   names
1         Joe, Fred, Sam
2         Jane, Kim

有没有一种简单的方法来做到这一点?
更新:
根据figs提供的文章,从9i开始你可以这样做:
SELECT wmsys.wm_concat(dname) departments FROM dept;

这个例子的答案是:
SELECT name_id,  wmsys.wm_concat(name) from names group by name_id

你可能会发现这篇文章很有帮助。 - user10340
你的意思是查询结果中应该是person_id吗? - cjm
小心。最近补丁中 wm_concat() 的输出类型已从 varchar 更改为 lob。不过将其强制转换回 char 就可以解决问题。 - Daren Schwenke
请查看http://www.williamrobertson.net/documents/one-row.html。 - cs95
1个回答

0
简短的回答是使用PL/SQL函数。更多细节请查看this帖子。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接