我在MS SQL Server数据库中有两个表:
表格1
Emp_ID, First_Name, Last_Name
1 Joe Smith
2 Bob Jones
表2
Emp_ID, Dept_ID, Status
1 1 Active
1 2 NotActive
1 3 NotActive
2 1 Active
我想做的是创建一个SQL select语句,即使该雇员从未进入部门,它也会为每个雇员和部门组合显示一行以及状态。对于样本数据,这应该带回6条记录,因为有2名员工和3个部门。
任何帮助,将不胜感激!
谢谢
如果你没有一个departments
表,你需要创建一个子查询得到distinct
的名单dept_ids
,以cross join
对:
select emp_id, first_name, last_name, dept.dept_id, status
from empl
cross join (select distinct dept_id from empdept) dept
left join empdept on empl.emp_id = empdept.empt_id
and dept.dept_id = empdept.dept_id
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句