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

XPathが存在しない場合、OracleXMLTABLEの左外部結合は結果を返しません

    XMLTableを複数回呼び出す必要はありません。要素の選択を列パス句に移動し、そのような句を3つ持つことができます。

    select x.id1, x.id2, x.id3
    from tbl t
    cross join
      xmltable ('/root'
        passing t.xml_data
        columns id1 varchar2 (100) path 'element[id=1]/data',
           id2 varchar2 (100) path 'element[id=2]/data',
           id3 varchar2 (100) path 'element[id=3]/data'
    ) x;
    
    ID1   ID2   ID3 
    ----- ----- -----
    abc   def        
    


    1. Wiresharkを使用してmysqlクエリSQLを明確にキャプチャする方法

    2. PLSQLでのコレクションの連結

    3. 列名としての日付

    4. mysql_fetch_arrayは最初の行をスキップします