sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man analyserar xml med valfria element

Du måste först extrahera alla ns:Ntry-element och sedan hämta mängden och EndToEndId för vart och ett av dem:

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. Visa mysql i en HTML-tabell med Node.js

  2. MYSQL välj sammanfoga flera tabeller och SUMMA

  3. Mysql - Summering av antalet sammanfogade tabeller

  4. PostgreSQL raderar alla utom de äldsta posterna