sql >> Database >  >> RDS >> PostgreSQL

Postgres JSONb naar XML met tag_name en tag_value

Voortbouwend op de oplossing van @Georges Martin zou ik geen laterale join en een grouping-clausule gebruiken, maar gewoon een geneste subquery:

SELECT XMLELEMENT(
  NAME "Company", 
  XMLATTRIBUTES(id AS id, field1 AS field), 
  (SELECT XMLAGG(
    XMLELEMENT(
      NAME "companyTag", 
      XMLATTRIBUTES(
        attr.key AS "tagName", 
        attr.value AS "tagValue"
      )
    )
  ) FROM JSONB_EACH_TEXT(attributes) AS attr)
) FROM comp_emp;



  1. SQL JOIN en COUNT gebruiken

  2. Wat is de maximale lengte van een tabelnaam in Oracle?

  3. Wat hebben de Olympische Spelen, UEFA Euro 2016 voetbalwedstrijden en databases met elkaar gemeen?

  4. MySQL-trigger:kopieer de auto_increment-waarde naar een andere kolom bij het invoegen