我有两张表Department
和Employee
。
部门表格如下:
ID DeptName
1 IT
2 CSE
3 ECE
员工表:
ID DeptID EmployeeName Salary
1 1 John 10000
2 1 Bob 15000
3 2 Akon 12000
4 2 Smith 20000
现在我想以这样的方式对数据进行分组,以便获得包含以下列的以下结果:
ID DeptName Employee
1 IT John,10000
Bob,15000
2 CSE Akon,12000
Smith,20000
我们可以使用SQL组函数或任何其他方式执行此类操作吗?
请帮帮我。
谢谢, Rajbir
答案 0 :(得分:3)
此:
select final.deptId, d.deptName,
e3.employeename + ',' + cast(e3.salary as varchar) employee
from employee e3
left join (
select e1.id, e1.deptId from employee e1
left join employee e2
on e1.deptId = e2.deptId and e1.id > e2.id
where e2.id is null
) final on e3.id = final.id
left join department d on d.id = final.deptId
结果:
+--------+----------+-------------+ | DEPTID | DEPTNAME | EMPLOYEE | +--------+----------+-------------+ | 1 | IT | John,10000 | | | | Bob,15000 | | 2 | CSE | Akon,12000 | | | | Smith,20000 | +--------+----------+-------------+
请注意,“空白”值实际上填充了null
值。
如果您对此有任何疑问,请与我联系。