1

我一直在四处寻找,但我还没有找到解决方案,所以我想我会在这里问。我有这个查询,它返回 1241 错误。我究竟做错了什么?

SELECT  
            EMP_FORMAL,
            employee.EMP_ID,
            ROUND(ROUND(SUM(TIME_TO_SEC(TIMEDIFF(UREN_EIND,UREN_BEGIN))/3600),2)/(od_employee_extra.uren*0,4)*100, 2) AS SOM,
            ROUND(SUM(TIME_TO_SEC(TIMEDIFF(UREN_EIND,UREN_BEGIN))/3600),2) AS UREN,
            ROUND(SUM(TIME_TO_SEC(IF(IS_OPBON, TIMEDIFF(UREN_EIND,UREN_BEGIN), 0))/3600),2) AS FACTUUR_UREN,
            od_employee_extra.uren*0,4 AS TOTAAL_UREN,
            WEEK(UREN_DATUM,1) AS NUM
FROM 
            od_pc_common.urenreg

INNER JOIN 
            od_pc_common.employee ON (urenreg.EMP_ID = employee.EMP_ID)

INNER JOIN 
            od_common_settings.od_employee_extra ON (employee.EMP_ID = od_common_settings.od_employee_extra.EMP_ID AND employee.EMP_GROEP = od_employee_extra.EMP_GROUP)

WHERE 
           YEAR(UREN_DATUM) = 2014 AND 
           UREN_DATUM <= NOW() AND 
           employee.IS_ACTIVE = 1

GROUP BY 
           WEEK(UREN_DATUM, 1), 
           urenreg.EMP_ID

HAVING 
           NUM = 31;

ORDER BY 
           EMP_FORMAL ASC

提前致谢。;)

编辑:我只是想出了问题所在。我们用逗号(“0,4”)标记的浮点数,而 Sql 语法使用点(“0.4”)代替。

4

1 回答 1

0

我的猜测是关于这条线

od_employee_extra.uren*0,4 AS TOTAAL_UREN

Sql 中的数字用点而不是逗号表示。

请检查此行并在此处使用适当的 perantheis。

semicolon之后也删除Having

于 2014-07-29T07:30:45.917 回答