sql >> Database >  >> RDS >> Oracle

Oracle XMLTABLE left outer join geeft geen resultaten als XPath niet bestaat

U hebt niet meerdere aanroepen van XMLTable nodig, u kunt de elementselectie naar de kolompadclausule verplaatsen en drie van dergelijke clausules hebben:

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. Oracle RAC HA-oplossing vergelijken met Galera Cluster voor MySQL of MariaDB

  2. Een tekenreeks converteren naar een datum/tijd in SQL Server met PARSE()

  3. GeoServer schrijft niet naar mijn PostgreSQL-updatebare weergave

  4. Kolomnamen citeren met NHibernate en PostgreSQL