Я хотел бы запросить этот пример json и выбрать questions.title и questions.answers []. Reference []. Id (строка, объединенная с "," is штраф).
До сих пор я получаю следующее, используя json_table, без успеха с ссылочными идентификаторами:
select key_v, title, refs
from ASSESSMENT a,
json_table (ASSESSMENT , '$'
columns (key_v FOR ORDINALITY,
nested path '$."questions".*'
columns (
title path '$."title"',
refs path '$.answers[*].references."eocnurse:interventions"[*].id',
)));
Желаемый результат на примере
"Cambiamento dello stato cognitivo" - "247, 77253"
"Stato della circolazione" - "81, 24853608585"
"Sonno e riposo" - "24853608585"
Версия Oracle:
Oracle Database 12c Enterprise Edition, выпуск 12.1.0.2.0 - 64-разрядная версия
UDPATE
Мне удалось изменить структуру данных json , чтобы она соответствовала JSONpath .
С обновленной структурой json это решение моей проблемы:
select JT.*
from ASSESSMENT a,
json_table (ASSESSMENT , '$.questions[*]'
columns (
"Title" PATH '$.title',
"Refs" VARCHAR2(500 CHAR) FORMAT JSON WITH WRAPPER PATH '$.answers[*].references."eocnurse:interventions"[*].id'
))
"JT";