SQL多个活动作业查询

时间:2015-01-01 23:48:20

标签: sql sql-server

这是我正在使用的数据库的一部分。

  • cont_employee(emp_no PK,emp_fname,emp_lname,birth_date)
  • contract(contractor_no PK,emp_no,job_no,is_active)

因此,我试图整理一个查询,向我展示从事过多个活动工作的员工。到目前为止,我已经设法写了一个查询,它将为我提供一份正在从事一项或多项活动工作的人员名单。

SELECT 
   cont_employee.*,contract.*
FROM 
   cont_employee
JOIN 
   contract ON contract.emp_no = cont_employee.emp_no
WHERE 
   is_active = 1

我不确定如何从这一点开始。

1 个答案:

答案 0 :(得分:1)

您需要某种聚合。这是我的建议,假设is_active位于contractor表中,这就是您在查询中的真实含义:

SELECT ce.emp_no
FROM cont_employee ce JOIN
     contractor c
     ON c.emp_no = ce.emp_no
WHERE c.is_active = 1
GROUP BY ce.emp_no
HAVING COUNT(*) > 1;