Sql错误1241:操作数应包含1列

时间:2014-07-29 07:22:24

标签: mysql sql decimal-point mysql-error-1241

我现在一直在寻找,但我还没能找到解决方案,所以我想我会问这里。 我有这个查询,它返回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

提前致谢。 ;)

编辑:我只知道问题所在。我们用逗号(&#34; 0,4&#34;)注意浮点数,而Sql语法则使用点(&#34; 0.4&#34;)代替。

1 个答案:

答案 0 :(得分:0)

我的猜测是关于这一行

od_employee_extra.uren*0,4 AS TOTAAL_UREN

Sql中的数字标有点,而不是逗号。

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

semicolon

之后删除Having