可以使用Oracle中的LISTAGG函數(shù)來(lái)實(shí)現(xiàn)將多行數(shù)據(jù)拼接成一行。LISTAGG函數(shù)的語(yǔ)法如下:
LISTAGG(expression, delimiter) WITHIN GROUP (ORDER BY order_by_clause)
其中,expression是要拼接的列或表達(dá)式,delimiter是用作分隔符的字符,order_by_clause是指定拼接順序的列或表達(dá)式。
例如,假設(shè)有一個(gè)表格employee,包含以下數(shù)據(jù):
employee_id | first_name | last_name |
---|---|---|
1 | John | Smith |
2 | Jane | Doe |
要將這些數(shù)據(jù)拼接成一行,可以使用以下查詢:
SELECT LISTAGG(first_name || ' ' || last_name, ', ') WITHIN GROUP (ORDER BY employee_id) AS full_name
FROM employee;
這將輸出:John Smith, Jane Doe。