这是我正在使用的数据库的一部分。
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
我不确定如何从这一点开始。
答案 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;