Я пытаюсь написать запрос, который показывает мне количество сотрудников, участвующих в проекте, а также перечисляет их имена только в одной ячейке.
select p.projectname, count(main.projectnr) "Involved employees" from projects_karl p
join mainpro_karl main
on main.projectnr = p.projectnr
join employees_karl m
on m.employeenr = main.employeenr
group by p.beschreibung
;
Этот запрос подсчитывает количество сотрудников, которые работают в определенном проекте. Но я также хочу перечислить имена вовлеченных сотрудников.
select p.projectname, count(main.projectnr) "Anzahl beteiligter MAs", m.firstname || ' ' || m.surname "Name" from projects_karl p
join mainpro_karl main
on main.projectnr = p.projectnr
join Employees_karl m
on m.employeenr = main.employeenr
group by p.projectname, m.firstname || ' ' || m.surname
;
В этом списке запросов участвовали сотрудники, но не в ячейке, а в своей строке. И функция подсчета больше не работает. Он просто считает «1» в каждой строке.
использовать listagg()
select p.projectname, count(main.projectnr) "Anzahl beteiligter MAs",
listagg(m.firstname || ' ' || m.surname, ',') within group (order by p.projectname) "Name"
from projects_karl p join mainpro_karl main on main.projectnr = p.projectnr
join Employees_karl m on m.employeenr = main.employeenr
group by p.projectname
Хорошо, я буду! Мне нужно подождать 5 минут, и тогда я смогу принять ваш ответ. Еще раз большое спасибо :)
Это именно то, что мне нужно @fa06 ^^ Большое спасибо!