2014-04-16 44 views
3

我正在使用XMLQuery()在我的表中執行一些包含具有XML文檔(Oracle的XMLTYPE)的記錄的XQuery。 Oracle的查詢看起來是這樣的:從OracleQuery中的XMLQuery()格式化輸出XML

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上。

回答