0
同じIDを持つ複数の行を1つに結合しようとしています。Postgresqlを使用して複数の行を1つにマージする
私の生のテーブルには、次のようになります。
ID | person_id | eur_amount
1 3 200
1 2 100
2 3 80
2 2 100
出力は次のようになります。
ID | person_1 | eur_amount_1 | person_2 | eur_amount_2 |
1 3 200 2 100
2 3 80 2 100
者の最大数は同じです。私はすでに複数のJOIN文とここで述べたクロス集計()関数を使って解決しようとしましたPostgreSQL Crosstab Query。
しかし、私はこれのための解決策を見つけることができませんでした - 誰も望ましい出力を得る良い方法を知っていますか?
ありがとうございます!
私の最初の質問は、なぜこれをやりたいのでしょうか?しかし、私は逃げるだろう... person_idはすでに事前に知られている(IEのクエリはpersonID 2と3を探しているに過ぎない)、列の上限は2人か、それ以上あるだろうか?これは、あなたがSQLの代わりに、GUIが報告しなければならない何かをやろうとしているようです。また、person_1とperson_2のどちらに値が入るのかを尋ねる必要があります。それは行の順序だけですか? – Twelfth
'idによってmy_raw_rableグループからのperdataとして、select id、array_agg(行(person_id、eur_amount)order by person_id desc) – Abelisto