Oracle:複数行を1列に結合するSQLクエリ
OracleのLISTAGG関数を使用することで、複数行の値を一つの行に結合することができます。以下に例を示します。
SELECT deptno, LISTAGG(ename, ', ') WITHIN GROUP (ORDER BY ename) AS employees
FROM emp
GROUP BY deptno;
上記の例では、従業員表(emp)から部署番号(deptno)と従業員名(ename)を選択し、同じ部署に所属する従業員名を結合し、カンマで区切るためにLISTAGG関数を使用しました。最後に、GROUP BY句を使用して部署番号でグループ化しました。