sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres:konverter enkelt række til flere rækker (unpivot)

En enkelt SELECT med en LATERAL slutte sig til en VALUES udtryk gør jobbet:

SELECT p.id, v.*
FROM   price_list p
     , LATERAL (
   VALUES
      ('type_a', p.price_type_a)
    , ('type_b', p.price_type_b)
    , ('type_c', p.price_type_c)
   ) v (price_type, price);

Relateret:

  • Konverter én række til flere rækker med færre kolonner
  • VÆLG DISTINCT på flere kolonner


  1. Gå til start testdrevet databaseudvikling (TDDD)

  2. MySQL få rækkeposition i BESTIL EFTER

  3. Brug af Oracle JDeveloper 12c med Oracle Database 12c på Oracle Cloud Platform, del 2

  4. Hvad er den bedste måde at paginere resultater i SQL Server