gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:00:14 25 4
gpt4 key购买 nike

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

例子:

表1

IdN Name 
---------
1 A
2 B
3 C

表2

IdC Car
------------
1 Ferrari
1 BMW
2 SEAT
2 FIAT
3 FORD

结果为:

A    Ferrari,BMW
B SEAT,FIAT
C FORD

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

SELECT NAME,CAR
FROM TABLE1, TABLE2
where TABLE1.IdN=TABLE2.IdC

这会返回如下内容:

一辆法拉利
一辆宝马
B座
B菲亚特
福特

有没有一种简单的方法可以用逗号分隔值“连接”成一行?

最佳答案

看看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;

关于sql - 在 ORACLE 中,有没有一种方法可以使用两个表将多行行连接成一个行,其中最终值用逗号分隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com