SQL Query返回单行中的所有列值

时间:2012-12-17 21:08:16

标签: sql plsql

  

可能重复:
  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 +

1 个答案:

答案 0 :(得分:0)

查看字符串聚合函数。

例如,在Oracle 11g第2版中,您可以执行以下操作:

SELECT CONCAT(CONCAT('+', LISTAGG(Employee.Name, '+')), '+') FROM Employee WHERE Salary >= 10000