我一直在寻找周围现在一点,但我还没有能够找到解决方案,所以我想我在这里问。我得到了这个查询,它返回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")代替。
我猜是关于这一行
od_employee_extra.uren*0,4 AS TOTAAL_UREN
Sql中的数字用点来表示,而不是逗号。
请检查这一行,并在这里使用适当的假名。
同时去掉Having
后面的semicolon