返回单行中所有列值的SQL查询
可能重复:返回单行中所有列值的SQL查询,sql,plsql,Sql,Plsql,可能重复: 我有一张桌子(员工) 雇员 ID Name Salary 1 Steve 10000 2 Buck 15000 3 Dan 10000 4 Dave 10000 我需要返回所有薪水为10000美元的员工姓名,员工姓名由加号分隔,包括开头和结尾的一个。我可以使用游标来实现这一点,并在游标中添加所有迭代的员工姓名。但是,有没有一种方法可以使用单个查询返回这个结果?在上面的示例中,我需要的结果是+Steve+Dan+Dave
我有一张桌子(员工) 雇员
ID Name Salary
1 Steve 10000
2 Buck 15000
3 Dan 10000
4 Dave 10000
我需要返回所有薪水为10000美元的员工姓名,员工姓名由加号分隔,包括开头和结尾的一个。我可以使用游标来实现这一点,并在游标中添加所有迭代的员工姓名。但是,有没有一种方法可以使用单个查询返回这个结果?在上面的示例中,我需要的结果是+Steve+Dan+Dave+查看字符串聚合函数 例如,在Oracle 11g第2版中,您可以执行以下操作:
SELECT CONCAT(CONCAT('+', LISTAGG(Employee.Name, '+')), '+') FROM Employee WHERE Salary >= 10000
我看到了这个错误。。ORA-00909:论点库数量无效,我编辑了我的示例。(CONCAT()只接受2个字符串。)由于某种原因,我的蟾蜍无法识别关键字listag。。当我执行上面的查询时,我看到了这个错误。。ORA-00904:“LISTAGG”:无效的标识符看起来好像我们还没有Oracle 11g Relese 2。我们有旧版本的11gOK,看看wm_concat