3

我有两张桌子,我们称它们为 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

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


更新:

根据 figs 提供的文章,从 9i 开始,您可以执行以下操作:

SELECT wmsys.wm_concat(dname) departments FROM dept;

对于此示例,答案变为:

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

1 回答 1

0

简短的回答是使用 PL/SQL 函数。有关更多详细信息,请查看帖子。

于 2008-09-21T01:53:33.223 回答