2008-09-19 3 views
3

У меня есть две таблицы, назовем их ЧЕЛОВЕКОМ И ИМЯ.perl JOIN-подобное поведение в Oracle?

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 

Есть простой способ сделать это ?


Update:

Согласно статье, что инжир был достаточно любезен, чтобы обеспечить, начиная с 9i вы можете сделать:

SELECT wmsys.wm_concat(dname) departments FROM dept; 

Для этого примера, ответ становится:

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

Вы не имеете в виду person_id в этом запросе? – cjm 2008-09-19 21:42:59

ответ

0

Короткий ответ заключается в использовании функции PL/SQL. Более подробную информацию можно найти в сообщении this.