Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Tabela XML z Oracle 11g

Spróbuj tego:

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

Ponieważ masz wiele stanów, powinieneś dołączyć do innej tabeli XML. Ponieważ niektóre kraje nie mają stanów, musi to być lewe sprzężenie zewnętrzne. Używam starej metody (+) ponieważ próbuję tego na 10g i wygląda na to, że jest problem z użyciem left outer join w 10g, ale najwyraźniej powinno być w porządku w 11g .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aktualizacja Oracle zawiesza się

  2. Jak kontynuować przetwarzanie pętli kursora po wystąpieniu wyjątku w Oracle?

  3. Hibernacja znacznika czasu ze strefą czasową

  4. Co oznacza symbol SQL Select || oznaczać?

  5. Czy ODP.NET wymaga instalacji klienta Oracle?