每年,我们部门都会征求员工的捐款,以帮助支持癌症研究、药物和酒精等方面的研究。
我们已经建立了一个系统来帮助减轻员工的捐款压力。
目前,我们有与我目前遇到的这个问题相关的表格。
它们是emp、dept 和contribution 表。
Emp 表包含我们组织中所有员工的列表。
Dept 表包含部门列表。
最后,每次员工缴费时,员工的ID和缴费日期(date_stamp)都会记录在缴费表中。
每位员工都必须填写此表格,无论她/他是否正在供款。员工可以选择捐款,或选中“我目前不希望捐款”的方框
我的任务是提供一份未填写表格的员工名单。
如果雇员 ID 在 emp 表上但不在本年度的供款表上(date_stamp),则该雇员尚未填写表格。
到目前为止,我的查询返回 emp 表中未填写表格的员工中不到一半。我们希望此代码返回 emp 表中尚未在本年度供款表中的那些员工的列表。
现在,由于贡献季节从 2012 年 11 月 27 日开始,我们希望此查询返回 emp 表上的所有员工。
非常感谢您的帮助。
SELECT e.lastname, e.firstname,CASE active WHEN 1 then 'Yes'WHEN 0 then 'No' else 'other'END
FROM contributions c
LEFT JOIN emp e ON e.employee_id = c.employee_id
INNER JOIN dept d ON d.dept_code = e.dept_code
WHERE Year(c.date_stamp) <> '2010' OR Year(c.date_Stamp) <> '2011' OR Year(c.date_Stamp) <> '2012'
GROUP BY e.lastname,e.firstname, e.employee_id, active
ORDER By e.lastname;