最终结果应该是该日期活动的数量os位置(工作类型),但由于时钟表每人有两个条目(午餐时间),COUNT每人给我两个结果,它得到一个加号结果如果这个人离开或休息时间。
FIDDLE:http://sqlfiddle.com/#!9/47110d/1/0
有没有办法
我试图先通过不同的方式过滤但尚未获得满意的结果!
答案 0 :(得分:1)
这样做你想要的吗?
SELECT
positions.cargodesc,
positions.cargoabrv,
COUNT(distinct employees.employeeid ) AS npositions
FROM
employees
RIGHT JOIN clocktimes ON employees.emp_external_id = clocktimes.EmployeeGUID
LEFT JOIN positions ON positions.cargoid = employees.position_id
WHERE
DATE( clocktimes.StartDate ) = '2017-07-02'
GROUP BY
employees.position_id