Oracleの列を1行にマージする方法は何ですか?
Oracleでは、LISTAGG関数を使用して、1列の複数の行値を1行に結合することができます。
column_nameをseparatorで区切り、column_nameで並べ替えた結果を返すLISTAGG()関数
column_name は、結合する列の名前を表し、separator は、結合後の行の値の間の区切り記号を表します。
例えば、employeesという名前のテーブルがあり、last_nameという列が含まれているとします。すべてのlast_nameの値を1行にまとめ、コンマで区切った場合、以下のクエリを使用できます:
SELECT LISTAGG(last_name, ‘、’) WITHIN GROUP (ORDER BY last_name) AS merged_last_names
FROM employees;
すべてのlast_name値がカンマで区切られた行を返します。