MS SQL Server select语句:显示两个表中的所有组合

AAA级

我在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章