【发布时间】:2024-05-20 09:10:01
【问题描述】:
这是我第一次使用 LISTAGG 函数,我很困惑。我可以很容易地选择数据,但是USERS 列的字符之间都有空格,并且在尝试复制粘贴时,不会复制该列中的数据。我尝试过两种不同的 IDE。我是不是做错了什么?
例子:
select course_id, listagg(firstname, ', ') within group (order by course_id) as users
from (
select distinct u.firstname, u.lastname, u.student_id, cm.course_id
from course_users cu
join users u on u.pk1 = cu.users_pk1
join course_main cm on cm.pk1 = cu.crsmain_pk1
and cm.course_id like '2015SP%'
)
group by course_id;
产量:
【问题讨论】:
-
你能告诉我们“格式奇怪”是什么意思吗?您没有得到的预期输出是什么?
-
@ruudvan 为清楚起见进行了编辑。
USERS列的字符之间都有空格,当尝试复制粘贴时,不会复制该列中的数据。 -
子查询返回用户名不带空格?
-
无法复制可能是由于 IDE 中的某些问题。您使用的是哪个 IDE? (如 Toad 或 plsql 开发人员)?此外,查询中似乎没有任何添加空格的内容。独立运行子查询以确保表中的数据中没有这些空格。
-
@ruudvan 我已经尝试过 dbForge Studio Express 和 Oracle SQL Developer。两者的行为相同。
标签: database oracle concatenation listagg