按部门汇总出勤人数,写语句

SELECT DISTINCT a.emp_id, b.emp_fname, CONVERT(VARCHAR(10), a.sign_time, 120) AS sign_date, c.depart_name

FROM dbo.TimeRecords a

     INNER JOIN dbo.employeeinfo b ON a.emp_id=b.emp_id

     INNER JOIN dbo.Departs c ON LEFT(b.depart_id, 9)=c.depart_id

WHERE CONVERT(VARCHAR(10), a.sign_time, 120)=CONVERT(VARCHAR(10), GETDATE(), 120)AND LEFT(b.depart_id, 9) IN ('008010101', '008010102', '008010103');

FineReport 用户bmXwf6959003 发布于 2022-5-10 09:41
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
minkeyLv4见习互助
发布于2022-5-10 09:55

SELECT c.depart_name,count(DISTINCT a.emp_id) as qty

FROM dbo.TimeRecords a

INNER JOIN dbo.employeeinfo b ON a.emp_id=b.emp_id

INNER JOIN dbo.Departs c ON LEFT(b.depart_id, 9)=c.depart_id

WHERE CONVERT(VARCHAR(10), a.sign_time, 120)=CONVERT(VARCHAR(10), GETDATE(), 120)

AND LEFT(b.depart_id, 9) IN ('008010101', '008010102', '008010103')

GROUP BY c.depart_name

最佳回答
0
CD20160914Lv8专家互助
发布于2022-5-10 09:45

哪个字部是部门???

最佳回答
0
yzm339714Lv6中级互助
发布于2022-5-10 09:45

SELECT c.depart_id,c.depart_name , CONVERT(VARCHAR(10), a.sign_time, 120) AS sign_date, count(a.emp_id) renshu

FROM dbo.TimeRecords a

     INNER JOIN dbo.Departs c ON LEFT(b.depart_id, 9)=c.depart_id

WHERE CONVERT(VARCHAR(10), a.sign_time, 120)=CONVERT(VARCHAR(10), GETDATE(), 120)AND LEFT(b.depart_id, 9) IN ('008010101', '008010102', '008010103') group by c.depart_id,c.depart_name , CONVERT(VARCHAR(10), a.sign_time, 120)

最佳回答
0
qianyipdcLv2见习互助
发布于2022-5-10 10:10

SELECT c.depart_name 部门,count(distinct  b.emp_fname) 出勤人数,

FROM dbo.TimeRecords a

     INNER JOIN dbo.employeeinfo b ON a.emp_id=b.emp_id

     INNER JOIN dbo.Departs c ON LEFT(b.depart_id, 9)=c.depart_id

WHERE CONVERT(VARCHAR(10), a.sign_time, 120)=CONVERT(VARCHAR(10), GETDATE(), 120)AND LEFT(b.depart_id, 9) IN ('008010101', '008010102', '008010103')

group by c.depart_name

  • 5关注人数
  • 320浏览人数
  • 最后回答于:2022-5-10 10:10
    请选择关闭问题的原因
    确定 取消
    返回顶部