sql >> データベース >  >> RDS >> Oracle

OracleXMLTable-親ノードから列をフェッチしています

    ./parent_nodeを探しています 、これは<parent_node>です 現在の<child> ノード。そして、それは存在しません。

    レベルを上げる必要があります:

    parent_value NUMBER (10) PATH './../parent_value'
    

    CTEを使用したデモと、追加された../

    WITH xtbl AS (SELECT xmltype ('<root>
                        <parent>
                             <parent_id>1</parent_id>
                             <parent_value>10000</parent_value>
                             <child>
                                  <child_id>11</child_id>
                                  <other_value>1000</other_value>
                             </child>
                             <child>
                                  <child_id>12</child_id>
                                  <other_value>1000</other_value>
                             </child>
                        </parent>
                    </root>') AS xcol FROM dual)
          SELECT myXmlTable.*
            FROM xtbl
                 CROSS JOIN
                 xmltable ('/root/parent/child'
                           PASSING xcol
                           COLUMNS child_id NUMBER (5) PATH 'child_id',
                                   parent_value NUMBER (10) PATH './../parent_value') myXmlTable;
    
      CHILD_ID PARENT_VALUE
    ---------- ------------
            11        10000
            12        10000
    


    1. MySQLの複数のWhere句

    2. 今月の記録を取得する

    3. JDBC:単一のデータベース呼び出しを介して複数の結果セットを返す-Oracleでは機能しない

    4. PLS-00306:呼び出しの引数の数またはタイプが間違っています