我想结合2个SQL查询,第一个查询我想拉回最近一个月的员工记录,第二个查询,我拉回最近3个月的记录。
有一种疯狂的方法,员工可以每月更换经理,但是最近几个月的经理需要查看其雇员的前三个月记录,即使该雇员在那几个月中有不同的经理也是如此。
这是最近一个月的第一选择
/******latest month*****************/
SELECT [REPORT_DT]
,[EMPLOYEE_ID]
,[EMPLOYEE_NAME]
,[LOCATION]
,[JOB_DESCRIPTION]
,[MANAGER_ID]
FROM [EMPLOYEE]
where [REPORT_DT]=
(select max([REPORT_DT]) from [EMPLOYEE])
这是过去3个月内的选择
/*********last 3 months*******************/
SELECT [REPORT_DT]
,[EMPLOYEE_ID]
,[EMPLOYEE_NAME]
,[LOCATION]
,[JOB_DESCRIPTION]
,[MANAGER_ID]
FROM [EMPLOYEE]
where [REPORT_DT]>=
( DATEADD(M, -3, GETDATE()))
我将加入[EMPLOYEE_ID]上的2个选择。任何想法,我怎么可以结合这两个查询?谢谢!
如果要联接两个表,则可以使用:
select ecurr.*, e.* -- or whatever columns you like
from employee ecurr join
employee e
on ecurr.employee_id = e.employee_id
where ecurr.report_dt = (select max(e2.report_dt) from employee e2) and
e.report_dt >= dateadd(month, 3, getdate())
order by ecurr.employee_id, e.report_dt;
我要补充一点,这个结果对我来说没有特别的意义。但这是您明确提出的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句