sql >> データベース >  >> RDS >> PostgreSQL

Postgres:単一の行を複数の行に変換します(ピボット解除)

    単一のSELECT LATERALを使用 VALUESに参加する 式は仕事をします:

    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);
    

    関連:

    • 1つの行をより少ない列で複数の行に変換します
    • 複数の列でDISTINCTを選択


    1. テストのためにMySQLインスタンスを失敗またはクラッシュさせる方法

    2. 接続に失敗しました:php関数からのユーザー'root' @'localhost'(パスワード:YESを使用)のアクセスが拒否されました

    3. Postgresは最もクールなデータベースです–理由#2:ライセンス

    4. 熱心なインデックススプールとオプティマイザー