2016-11-25 27 views
0

當我運行下面的SQL語句出現錯誤:我有一個訪問數據庫和我已寫下面的查詢通過今天找每個員工的薪水,但我通過這個查詢

SELECT 
    FORMAT(emp_attendance.att_date, 'mm-yyyy') AS pd , 
    emp_detail.ename , 
    emp_detail.ecode , 
    (SELECT COUNT(emp_attendance.att_id) 
     FROM  emp_attendance 
     WHERE  emp_attendance.eid = emp_detail.eid 
       AND emp_attendance.att_type = 'Full Day' 
       AND FORMAT(emp_attendance.att_date, 'mm-yyyy') = FORMAT(emp_attendance.att_date, 
                  'mm-yyyy') 
    ) AS Present_Days , 
    (SELECT COUNT(emp_attendance.att_id) 
     FROM  emp_attendance 
     WHERE  emp_attendance.eid = emp_detail.eid 
       AND emp_attendance.att_type = 'Half Day' 
       AND FORMAT(emp_attendance.att_date, 'mm-yyyy') = FORMAT(emp_attendance.att_date, 
                  'mm-yyyy') 
    ) AS Half_Days , 
    ROUND((emp_detail.esalary/30) 
      * ((SELECT COUNT(emp_attendance.att_id) 
       FROM emp_attendance 
       WHERE emp_attendance.eid = emp_detail.eid 
         AND emp_attendance.att_type = 'Full Day' 
         AND FORMAT(emp_attendance.att_date, 'mm-yyyy') = FORMAT(emp_attendance.att_date, 
                  'mm-yyyy') 
       ) 
       + ((SELECT COUNT(emp_attendance.att_id) 
        FROM emp_attendance 
        WHERE emp_attendance.eid = emp_detail.eid 
          AND emp_attendance.att_type = 'Half Day' 
          AND FORMAT(emp_attendance.att_date, 'mm-yyyy') = FORMAT(emp_attendance.att_date, 
                  'mm-yyyy') 
        )/2)), 2) AS Eligable_Salary 
FROM  
    emp_attendance 
    INNER JOIN emp_detail ON emp_attendance.eid = emp_detail.eid 
GROUP BY 
    FORMAT(emp_attendance.att_date, 'mm-yyyy') , 
    emp_detail.eid , 
    emp_detail.ename , 
    emp_detail.ecode , 
    Eligable_Salary 
HAVING 
    FORMAT(emp_attendance.att_date, 'mm-yyyy') = '11-2016' 

...我收到以下錯誤:

You tried to execute a query that does not include the specified expression 'ROUND(emp_detail.esalary/30*(+/2),2)' as part of an aggregate function.

+1

https://stackoverflow.com/editing-help(馬克碼,然後點擊'{}',標記錯誤信息並點擊'「 '。在需要的地方添加換行符。) – jarlh

回答

0

相反Eligable_Salary在GROUP BY子句中,你應該使用emp_detail.esalary

相關問題