在ORACLE中,是否有一种方法可以使用两个表将多行行连接成一个行,其中最终值用逗号分隔?

nun*_*des 3 sql oracle

有没有办法使用两个表连接多个行行,其中值在ORACLE中用逗号分隔?

例:

表格1

IdN Name 
---------
1   A 
2   B 
3   C 
Run Code Online (Sandbox Code Playgroud)

表2

IdC Car
------------
1    Ferrari
1    BMW
2    SEAT
2    FIAT
3    FORD
Run Code Online (Sandbox Code Playgroud)

结果如下:

A    Ferrari,BMW
B    SEAT,FIAT
C    FORD
Run Code Online (Sandbox Code Playgroud)

我想知道是否有这样的事情:

SELECT NAME,CAR
FROM TABLE1, TABLE2
where TABLE1.IdN=TABLE2.IdC
Run Code Online (Sandbox Code Playgroud)

这返回类似于:

法拉利
宝马
B座椅
B菲亚特
福特

有一种简单的方法可以用逗号分隔值"连接"到一行吗?

Lou*_*nco 6

看看LISTAGG

http://www.oracle-base.com/articles/misc/StringAggregationTechniques.php

就像是:

SELECT NAME, LISTAGG(CAR, ',') WITHIN GROUP (ORDER BY CAR) AS CARS
FROM   (SELECT NAME,CAR
FROM TABLE1, TABLE2
where TABLE1.IdN=TABLE2.IdC)
GROUP BY NAME;
Run Code Online (Sandbox Code Playgroud)