如何在一行中显示名字?

时间:2017-02-17 06:03:29

标签: sql oracle string-aggregation

我正在学习oracle sql。

我只想用“逗号分隔”单行显示“员工”表中的所有员工名字。

ex:john,alex,rosy

我正在使用SQL * Plus来运行查询。

2 个答案:

答案 0 :(得分:0)

你必须使用一些内置函数,如:

SYS_CONNECT_BY_PATH , ROW_NUMBER () OVER 

Here is the solution

答案 1 :(得分:0)

SQL> 
SQL> create table test(id int, name varchar(10));
Table created
SQL> begin
  2      insert into test values(1,'john');
  3      insert into test values(2,'alex');
  4      insert into test values(3,'rosy');
  5  end;
  6  /
PL/SQL procedure successfully completed
SQL> select listagg(name ,',')  within group(order by id) result from test;
RESULT
--------------------------------------------------------------------------------
john,alex,rosy
SQL> drop table test purge;
Table dropped

SQL>