如何在单行中显示名字



我正在学习Oracle SQL。

我只是想在单行中以逗号分隔显示所有员工的名字。

ex:约翰,亚历克斯,罗西

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

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

SYS_CONNECT_BY_PATH , ROW_NUMBER () OVER 

这是解决方案

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> 

最新更新