Използвам XMLQuery(), за да изпълня някои XQuery в моите таблици, които се състоят от записи с XML документи (XMLTYPE на Oracle). Заявката на Oracle изглежда така:
SELECT XMLQuery(
'for $b in distinct-values($rdoc//book_title)
let $r := $rdoc//review[book_title=$b]/rating
order by avg($r) descending
return
<book>
<title>{data($b)}</title>
<avgrating>{avg($r)}</avgrating>
</book>'
passing b.data as "bdoc", r.data as "rdoc"
RETURNING CONTENT).getStringVal() XMLData
FROM books b, reviews r
Получавам правилните резултати, но SQLDeveloper ми показва резултатите в един ред и не е форматиран като XML! Забелязах, че ако имам заявка, която не използва distinct-values(), тогава резултатите се показват правилно.
Някой имал ли е същия проблем и намерил ли е решение/заобиколно решение? Аз съм на Oracle 12c.