PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara mengurai xml dengan elemen opsional

Anda perlu mengekstrak semua elemen ns:Ntry terlebih dahulu, lalu mendapatkan jumlah dan EndToEndId untuk masing-masing elemen:

SELECT 
    endaaa,
    (xpath('ns:Amt/text()', x,nsa))[1]::text::numeric AS tasusumma,
    (xpath('ns:NtryDtls/ns:TxDtls/ns:Refs/ns:EndToEndId/text()', x,nsa))[1] AS orderinr

FROM (
    SELECT (xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Acct/ns:Id/ns:IBAN/text()', x,nsa))[1] as endaaa,
    unnest(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Ntry', x,nsa)) as x, nsa
    FROM t
) Ntry



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kesalahan menginstal psycopg2, perpustakaan tidak ditemukan untuk -lssl

  2. Pencocokan partisi tingkat lanjut untuk penggabungan partisi

  3. Jenis rel dan jsonb jsonb tidak ada

  4. Terlalu banyak pesanan berdasarkan, maks, subkueri untuk kecerdasan saya

  5. Migrasi pemicu dari Oracle 11g ke Postgresql 8.4