Oracleは複数行のデータを1行にまとめる方法は?
Oracleで、複数行のデータを1行に変換するために、集計関数と条件式を使用できます。以下に、よく使用される2つの方法を示します。
- LISTAGG関数を使用する:
SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name) AS combined_data
FROM table_name;
column_nameとは、結合する列の名前であり、table_nameとは、クエリを実行したいテーブルの名前です。
- CASE文と集計関数の使用:
SELECT MAX(CASE WHEN condition1 THEN column1 END) AS column1,
MAX(CASE WHEN condition2 THEN column2 END) AS column2,
...
MAX(CASE WHEN conditionN THEN columnN END) AS columnN
FROM table_name;
conditionは条件式であり、columnは結合する列名、table_nameは検索するテーブル名です。
具体の状況に基づいて適切な方法を選択してください。