2012-06-19 4 views
0

xmltable을 사용하여 Oracle에서 쿼리를 수행하려고합니다.
모든 것이 제대로 작동하지만 xml 노드 "article_title"에 대한 결과가 여러 개 (n 개) 있습니다. 각 행에 대해 결과 "<string>Article Name1</string><string>Article Name 2</string>...이 리턴됩니다. 하지만 모든 기사 이름이 단일 행으로 반환되기를 바랍니다.
어떻게 알 수 있습니까?XMLTABLE을 사용하여 여러 결과를 반환하는 방법은 무엇입니까?

SELECT 
    X.* 
FROM 
    myTable C, 
          xmltable (
          '$cust//member' PASSING C.STAT_XML as "cust" 
          COLUMNS 
          name VARCHAR(25) PATH '/member/name', 
          article_title XMLTYPE PATH '//string/text()' 
         ) as X 

WHERE X.name = 'articles'; 
+0

당신이 우리에게 줄 수 XML의 예? –

답변

0

이 같은 것을보십시오 :

SELECT X.* 
FROM my_table C, 
    xmltable('for $i in $cust//string , $j in $cust//member[./string=$i]/name return <member>{$j}{$i}</member>' 
    passing c.stat_xml AS "cust" 
    columns name varchar2(25) path '/member/name', 
    article_title xmltype path '//string') AS X 
WHERE X.name = 'articles'; 

Here 내가 가정 바이올린

될 때마다 member는 하나 name을 가지고 있지만있을 수 있습니다 많은 string

관련 문제