在Oracle中是否像perl JOIN一样的行为?

时间:2020-03-06 14:27:59  来源:igfitidea点击:

我有两个表,我们称它们为PERSON和NAME。

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

有没有简单的方法可以做到这一点?

更新:

根据无花果足以提供的文章,从9i开始,我们可以执行以下操作:

SELECT wmsys.wm_concat(dname) departments FROM dept;

对于此示例,答案变为:

SELECT name_id,  wmsys.wm_concat(name) from names group by name_id

解决方案

我们可能会发现本文很有帮助。

简短的答案是使用PL / SQL函数。有关更多详细信息,请参阅这篇文章。