SQL根据引用键连接重复值

时间:2016-08-03 16:46:16

标签: sql oracle

我有下表

col A  | Col B
--------------
   a   |  1   
--------------
   a   |  2   
--------------
   b   |  1  
--------------
   b   |  3  
--------------
   c   |  1  

我基本上在寻找一个产生以下输出的SQL查询

col A  | Col B
--------------
   a   |  "1:2"   
--------------
   b   |  "1:3"  
--------------
   c   |  "1"  

这一定是一个非常简单的查询,但我现在无法解决这个问题。

1 个答案:

答案 0 :(得分:3)

您可以使用ListAgg()函数来聚合字符串结果:

 SELECT colA, '"' || ListAgg(colB, ':') WITHIN GROUP (ORDER BY colb) || '"'
 FROM yourtable
 GROUP BY colA;

ListAgg()将我们聚合的列作为第一个参数,将分隔符作为第二个参数。我们只是将那些开头和结尾双引号连接到ListAgg结果,以获得您正在寻找的最终结果。

相关问题