我正在学习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>