今天在问题上看到的这样一个提问.觉得挺有意思.看没人解答.就写了这么一小段,希望有更好的方法.
有两个表dept和emp
dept表数据为:
deptId,deptName
1, dept1
2, dept2
3, dept3
emp表数据为:
empId,empName,deptId
1, wang, 1
2, li, 1
3, zhang, 2
4, liu, 3
我要求的结果是
deptId, deptName, empName
1, dept1, wang
2, dept2, zhang
3, dept3, liu
大概业务就是部门为主,员工为辅的。
意思就是说一个部门出一个代表就行了,
我的解决方案是 (oracle10g下可通过)
select d.deptId, d.deptName, substr(wmsys.wm_concat(e.empName),0,INSTR(wmsys.wm_concat(e.empName)||',',',',1,1)-1)
from dept d, emp e
where d.deptId = e.deptId
group by d.deptId,d.deptName
有两个表dept和emp
dept表数据为:
deptId,deptName
1, dept1
2, dept2
3, dept3
emp表数据为:
empId,empName,deptId
1, wang, 1
2, li, 1
3, zhang, 2
4, liu, 3
我要求的结果是
deptId, deptName, empName
1, dept1, wang
2, dept2, zhang
3, dept3, liu
大概业务就是部门为主,员工为辅的。
意思就是说一个部门出一个代表就行了,
我的解决方案是 (oracle10g下可通过)
select d.deptId, d.deptName, substr(wmsys.wm_concat(e.empName),0,INSTR(wmsys.wm_concat(e.empName)||',',',',1,1)-1)
from dept d, emp e
where d.deptId = e.deptId
group by d.deptId,d.deptName