假设我有一个N:N
表关系,我正在他们之间进行连接,问题是结果有很多行具有相同的值,我想在一个{{1包含row
的那些
实际返回的结果看起来像这样。
ids
我希望将其作为
ID_STREET STREET COUNTRY REGION
------------------------------------------------
1 street-1 country-1 region-1
2 street-1 country-1 region-1
3 street-2 country-2 region-2
表定义看起来像
ID_STREET STREET COUNTRY REGION DUPLICATED
---------------------------------------------------------------
1 street-1 country-1 region-1 1,2
3 street-2 country-2 region-2 3
答案 0 :(得分:2)
在oracle上,聚合LISTAGG
函数可以对按其他列分组的列进行字符串连接。
http://docs.oracle.com/cd/E11882_01/server.112/e10592/functions089.htm
从我从桌上收集到的内容,如果我们按照您的第一组结果执行此操作
SELECT MIN(ID_STREET), STREET, COUNTRY, REGION,
LISTAGG(ID_STREET, ',') WITHIN GROUP (ORDER BY STREET) AS DUPLICATED
FROM MYTABLE
GROUP BY STREET,COUNTRY,REGION
我们最终会得到你的第二个。我需要查看原始表来显示一个可以执行您想要执行的操作的查询。