Oracle中 我有一张表 表的内容为通告标题,通知到的部门id,通知到的角色id,通知到的用户id,部门id和角色id和用户id内容不会同时存在 如何按照通知到的部门id和通知到的角色id 查询出对应的通知到的用户id 以逗号的方式分割全部放到通知到的用户id字段中
时间: 2024-05-04 19:19:38 浏览: 49
你可以使用Oracle中的LISTAGG函数来实现这个需求。以下是一个示例查询:
```
SELECT notice_title, notice_dept_id, notice_role_id,
LISTAGG(notice_user_id, ',') WITHIN GROUP (ORDER BY notice_user_id) AS notice_user_ids
FROM notice_table
WHERE notice_dept_id = <部门id> AND notice_role_id = <角色id>
GROUP BY notice_title, notice_dept_id, notice_role_id;
```
这个查询会按照通告标题、通知到的部门id和通知到的角色id进行分组,并在每个分组中将通知到的用户id使用逗号连接起来。注意,使用LISTAGG函数之前需要先按照notice_user_id字段进行排序。
你可以将<部门id>和<角色id>替换为实际的值来执行查询。
阅读全文