可以使用Oracle中的LISTAGG函数来实现将多行数据拼接成一行。LISTAGG函数的语法如下:
LISTAGG(expression, delimiter) WITHIN GROUP (ORDER BY order_by_clause)
其中,expression是要拼接的列或表达式,delimiter是用作分隔符的字符,order_by_clause是指定拼接顺序的列或表达式。
例如,假设有一个表格employee,包含以下数据:
employee_id | first_name | last_name |
---|---|---|
1 | John | Smith |
2 | Jane | Doe |
要将这些数据拼接成一行,可以使用以下查询:
SELECT LISTAGG(first_name || ' ' || last_name, ', ') WITHIN GROUP (ORDER BY employee_id) AS full_name
FROM employee;
这将输出:John Smith, Jane Doe。