sql >> Database >  >> RDS >> Oracle

XML-tabel met Oracle 11g

Probeer dit:

select      X.COUNTRYNAME, Y.STATENAME
from        XMLTEMP
           ,xmltable('/countries/country'
                     passing MYDOC
                     columns COUNTRYNAME varchar2(20) path './name', 
                             STATES xmltype path './states') X,
            xmltable('/states/state/name' passing X.STATES 
                    columns STATENAME varchar2(20) path '.') (+) Y

Omdat je meerdere statussen hebt, moet je lid worden van een andere XML-tabel. Aangezien sommige landen geen staten hebben, moet het een left outer join zijn. Ik gebruik de oude methode van (+) aangezien ik dit op 10g probeer en het lijkt erop dat er een probleem is met het gebruik van left outer join in 10g maar blijkbaar zou het goed moeten zijn in 11g .




  1. Fout bij het maken van een ruimtelijke database. FOUT:kon bibliotheek /usr/pgsql-9.1/lib/rtpostgis-2.0.so niet laden

  2. MySQL-syntaxisfoutbericht Operand moet 1 kolom(men) bevatten

  3. Kan database niet openen in lees-/schrijfmodus

  4. Zoek het verschil tussen tijdstempels in seconden in PostgreSQL