我有下表
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"
这一定是一个非常简单的查询,但我现在无法解决这个问题。
答案 0 :(得分:3)
您可以使用ListAgg()函数来聚合字符串结果:
SELECT colA, '"' || ListAgg(colB, ':') WITHIN GROUP (ORDER BY colb) || '"'
FROM yourtable
GROUP BY colA;
ListAgg()
将我们聚合的列作为第一个参数,将分隔符作为第二个参数。我们只是将那些开头和结尾双引号连接到ListAgg结果,以获得您正在寻找的最终结果。