在Oracle中,可以使用LISTAGG
函數將多個值合并成一行。
例如,有一個名為employees
的表,包含employee_id
和employee_name
兩個列,我們想要將所有員工的姓名合并成一行,可以使用以下查詢:
SELECT LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_id) AS all_employee_names
FROM employees;
以上查詢會將所有員工的姓名以逗號分隔的形式合并成一行,并按照employee_id
的順序進行排序。結果將會以all_employee_names
作為列名返回。
如果要將多個列的值合并成一行,可以在LISTAGG
函數中指定多個列名,并使用字符串拼接函數(如CONCAT
)將它們連接起來。
注意:LISTAGG
函數在Oracle 11g及以上版本才可用。