考虑如下表格 -
TABLE DB.TEMP_TABLE
------------------------------------------
field1 field2 field3
------------------------------------------
1 10 100
1 20 200
1 30 300
1 40 400
2 10 100
2 20 200
我需要在field2
的基础上连接field3
和field1
。期望的结果应如下所示 -
DESIRED RESULT
------------------------------------------
field1 field2 field3
------------------------------------------
1 10,20,30,40 100,200,300,400
2 10,20 100,200
我在此查询中使用的查询在下面给出 -
SELECT field1,
wm_concat(field2),
wm_concat(field3)
FROM temp_table
GROUP BY field1;
以下是我得到的结果 -
------------------------------------------
field1 field2 field3
------------------------------------------
1 10,20,40,30 100,400,300,200
2 10,20 100,200
请建议我一个有效的查询,如果可能请解释这个行为。
我正在使用Oracle 10g
并尝试使用xmlagg
。
答案 0 :(得分:1)
wm_concat
,因此无法保证将来会出现这种情况。您可以使用子查询。如果您更喜欢使用函数,则可以创建自己的函数并使用它类似于wm_concat
。 Check this link
答案 1 :(得分:1)