查询员工消耗项目数.sql
1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
-- ============================================
-- 查询员工在指定月份的消耗项目数
-- ============================================
-- 员工ID: 18566028067
-- 查询月份: 2025年11月 (202511)
-- ============================================
-- 方式1:从健康师业绩表统计(推荐,使用F_kdpxNumber字段,包含原始+加班+陪同项目数)
SELECT
jksyj.jks as 健康师ID,
jksyj.jksxm as 健康师姓名,
jksyj.jkszh as 健康师账号,
COALESCE(SUM(jksyj.F_kdpxNumber), 0) as 消耗项目总数,
COALESCE(SUM(COALESCE(jksyj.F_OriginalKdpxNumber, jksyj.F_kdpxNumber)), 0) as 原始项目数,
COALESCE(SUM(COALESCE(jksyj.F_OvertimeKdpxNumber, 0)), 0) as 加班项目数,
COALESCE(SUM(COALESCE(jksyj.F_AccompaniedProjectNumber, 0)), 0) as 陪同项目数
FROM lq_xh_jksyj jksyj
WHERE (jksyj.jks = '18566028067' OR jksyj.jkszh = '18566028067')
AND jksyj.F_IsEffective = 1
AND DATE_FORMAT(jksyj.yjsj, '%Y%m') = '202511'
GROUP BY jksyj.jks, jksyj.jksxm, jksyj.jkszh;
-- 方式2:从品项明细表统计(备用方式,统计F_ProjectNumber字段)
SELECT
jksyj.jks as 健康师ID,
jksyj.jksxm as 健康师姓名,
jksyj.jkszh as 健康师账号,
COALESCE(SUM(pxmx.F_ProjectNumber), 0) as 消耗项目数
FROM lq_xh_jksyj jksyj
INNER JOIN lq_xh_hyhk hyhk ON jksyj.glkdbh = hyhk.F_Id
INNER JOIN lq_xh_pxmx pxmx ON pxmx.F_ConsumeInfoId = hyhk.F_Id
WHERE (jksyj.jks = '18566028067' OR jksyj.jkszh = '18566028067')
AND jksyj.F_IsEffective = 1
AND hyhk.F_IsEffective = 1
AND pxmx.F_IsEffective = 1
AND DATE_FORMAT(hyhk.hksj, '%Y%m') = '202511'
GROUP BY jksyj.jks, jksyj.jksxm, jksyj.jkszh;