PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách phân tích cú pháp xml với các phần tử tùy chọn

Trước tiên, bạn cần giải nén tất cả các phần tử ns:Ntry, sau đó lấy số lượng và EndToEndId cho từng phần tử đó:

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. Những gì NpgsqlDbType nên được sử dụng để xóa Không thể ghi lỗi loại CLR

  2. PostgreSQL:giá trị khóa trùng lặp vi phạm ràng buộc duy nhất trên lệnh UPDATE

  3. Làm cách nào để ứng dụng Ruby on Rails của tôi có thể truy cập cơ sở dữ liệu mà không cần mật khẩu?

  4. Tự động thêm một cột có nhiều giá trị vào bất kỳ bảng nào bằng cách sử dụng hàm PL / pgSQL

  5. Làm thế nào để một Hàm được lưu trữ Postgres có thể trả về một bảng