select 大项目号,大项目名称,小项目号,车间编号,车间名称,班组编号,班组名称,type,sum(工时)/60 班组总工时 from( SELECT HRGROUPWORKHOURS.PRNAME_S 小项目名称, HRGROUPWORKHOURS.PRNAME 大项目名称, HRGROUPWORKHOURS.PRCODE_S 小项目号, HRGROUPWORKHOURS.PRCODE 大项目号, BSWORKCENTER.BSWORKSHOP_CODE 车间编号, BSWORKCENTER.BSWORKSHOP_NAME 车间名称, BSWORKCENTER.CODE 班组编号, BSWORKCENTER.NAME 班组名称, HRGROUPWORKHOURS.DATE 日期, SUM(HRGROUPWORKHOURS.HOURS) 工时, HRGROUPWORKHOURS.TYPE FROM HRGROUPWORKHOURS LEFT JOIN BSWORKCENTER ON BSWORKCENTER.GUID = HRGROUPWORKHOURS.BSWORKCENTER_GUID WHERE (HRGROUPWORKHOURS.DATE> ='2023-4-25' and HRGROUPWORKHOURS.DATE<= '2023-5-24' ) and HRGROUPWORKHOURS.PRCODE is not NULL GROUP BY HRGROUPWORKHOURS.PRNAME_S , HRGROUPWORKHOURS.PRNAME , HRGROUPWORKHOURS.PRCODE_S , HRGROUPWORKHOURS.PRCODE , HRGROUPWORKHOURS.DATE , HRGROUPWORKHOURS.BSWORKCENTER_GUID , BSWORKCENTER.BSWORKSHOP_CODE , BSWORKCENTER.BSWORKSHOP_NAME , BSWORKCENTER.CODE , BSWORKCENTER.NAME , BSWORKCENTER.BSWORKSHOP_GUID, HRGROUPWORKHOURS.TYPE ) a GROUP BY 班组编号, 班组名称,大项目号,大项目名称,小项目号,车间编号,车间名称,type ORDER BY 大项目号,小项目号,班组编号,type 想把HRGROUPWORKHOURS.TYPE这个的查询结果0变成报工工时,1变成调整工时
时间: 2024-04-27 19:20:13 浏览: 52
可以使用 CASE WHEN 语句来实现,将 HRGROUPWORKHOURS.TYPE 的值为 0 的工时作为报工工时,将值为 1 的工时作为调整工时。修改后的 SQL 查询语句如下:
SELECT 大项目号, 大项目名称, 小项目号, 车间编号, 车间名称, 班组编号, 班组名称,
type,
SUM(CASE WHEN HRGROUPWORKHOURS.TYPE = 0 THEN HRGROUPWORKHOURS.HOURS ELSE 0 END)/60 报工工时,
SUM(CASE WHEN HRGROUPWORKHOURS.TYPE = 1 THEN HRGROUPWORKHOURS.HOURS ELSE 0 END)/60 调整工时,
SUM(HRGROUPWORKHOURS.HOURS)/60 班组总工时
FROM
(SELECT
HRGROUPWORKHOURS.PRNAME_S 小项目名称,
HRGROUPWORKHOURS.PRNAME 大项目名称,
HRGROUPWORKHOURS.PRCODE_S 小项目号,
HRGROUPWORKHOURS.PRCODE 大项目号,
BSWORKCENTER.BSWORKSHOP_CODE 车间编号,
BSWORKCENTER.BSWORKSHOP_NAME 车间名称,
BSWORKCENTER.CODE 班组编号,
BSWORKCENTER.NAME 班组名称,
HRGROUPWORKHOURS.DATE 日期,
HRGROUPWORKHOURS.HOURS 工时,
HRGROUPWORKHOURS.TYPE
FROM
HRGROUPWORKHOURS
LEFT JOIN BSWORKCENTER ON BSWORKCENTER.GUID = HRGROUPWORKHOURS.BSWORKCENTER_GUID
WHERE
(HRGROUPWORKHOURS.DATE >= '2023-4-25' AND HRGROUPWORKHOURS.DATE <= '2023-5-24')
AND HRGROUPWORKHOURS.PRCODE IS NOT NULL) a
GROUP BY 班组编号, 班组名称, 大项目号, 大项目名称, 小项目号, 车间编号, 车间名称, type
ORDER BY 大项目号, 小项目号, 班组编号, type
阅读全文