可能重复:
Is there an Oracle SQL query that aggregates multiple rows into one row?
我有一张桌子(员工)。
员工
ID Name Salary
1 Steve 10000
2 Buck 15000
3 Dan 10000
4 Dave 10000
我需要返回薪水为10000美元的所有员工姓名,员工姓名由Plus标志分隔 - 包括一个在开头和结尾。我可以使用游标执行此操作,并通过游标迭代添加所有员工姓名。但有没有办法使用单个查询返回?在上面的例子中,我需要结果为+ Steve + Dan + Dave +
答案 0 :(得分:0)
查看字符串聚合函数。
例如,在Oracle 11g第2版中,您可以执行以下操作:
SELECT CONCAT(CONCAT('+', LISTAGG(Employee.Name, '+')), '+') FROM Employee WHERE Salary >= 10000