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 に答える