Sql 如何计算参与proct的员工,并在一个单元格中列出这些员工的姓名?
我试图写一个查询,显示参与项目的员工人数,并在一个单元格中列出这些员工的姓名Sql 如何计算参与proct的员工,并在一个单元格中列出这些员工的姓名?,sql,oracle,Sql,Oracle,我试图写一个查询,显示参与项目的员工人数,并在一个单元格中列出这些员工的姓名 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.bes
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”。使用listag()
这正是我需要的@fa06^^非常感谢!好的,我会的!我必须等5分钟,然后我才能接受你的回答。再次非常感谢:)
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