我需要在xmlagg函数中进行区分。例如下一个查询
select
xmlagg(xmlelement(e, names.name || ' ')).extract('//text()').getclobval()
within group (order by names.name ) names,
xmlagg(xmlelement(e, actions.action || ' ')).extract('//text()').getclobval()
within group ( order by actions.action) actions
from
json_table('[{"name": "Name1"}, {"name": "Name2"}, {"name": "Name3"}]', '$[*]'
columns (name varchar2 path '$.name')) names,
json_table('[{"action": "Call"}, {"action": "Write"}, {"action": "Write"}]', '$[*]'
columns (action varchar2 path '$.action')) actions
退货
NAMES | ACTIONS
-----------------------------------------------------------------------------------------------------------
Name1 Name1 Name1 Name2 Name2 Name2 Name3 Name3 Name3 | Call Write Write Call Write Write Call Write Write
我需要得到这样的结果
NAMES | ACTIONS
-------------------------------
Name1 Name2 Name3 | Call Write
1条答案
按热度按时间u7up0aaq1#
我认为首先在子查询中选择不同的值比较简单:
请注意
order by
的xmlagg()
更好地适应功能。db小提琴演示: