2

我是 SQL 2008 的初学者。我需要计算出 2012 年每周有多少员工在某个特定项目上工作。我有一个员工表,其中包含每个员工的开始日期和结束日期。我需要知道 2012 年每周都有哪些员工工作。到目前为止,我得到了:

Select Count (distinct employeeid) 

From employees.employee e
left join projectname.projectname p on p.projectid=e.projectid

Where
p.name = 'Alaska'

Group by Datepart(week)
4

1 回答 1

0

我认为这是(至少接近)您正在寻找的东西。

SELECT COUNT(DISTINCT e.employeeid)
FROM employees e
LEFT JOIN projectname p
ON e.projectid = p.projectid
WHERE p.name = 'Alaska'
  AND e.startdate <= '2012-01-01'
  AND e.enddate >= '2012-12-31'
GROUP BY DATEPART(week, startdate)
于 2013-09-06T19:50:30.340 回答