提供されたデータセットでは、現在、データはプライマリ識別子として user_id 列を使用してピボットされています。ただし、望ましい結果は、user_id と lang の両方を主識別子として使用してデータをピボットすることです。
これを実現するには、PIVOT 関数を使用できます。 PIVOT 関数は、集計値を取得し、それを 1 つ以上の列ごとにグループ化し、グループごとに新しい列を作成します。この場合、org 列とposition 列は lang によって集約され、グループ化されます。
次の SQL クエリは、複数の列を使用してデータをピボットする方法を示しています。
SELECT * FROM source PIVOT ( MIN(org) AS org, MIN(position) AS position FOR lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv) );
PIVOT 句は、ピボット操作を実行します。
クエリの結果は、次のようなピボットされたデータセットです。 columns:
以上がSQL で複数の列 (user_id と lang) を使用してデータをピボットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。