0

サブクエリに問題があります。そのため、総労働時間が全従業員の平均総労働時間よりも多い従業員をリストしたいと考えています。しかし、このコードでは、ある従業員の労働時間を別の従業員の時間ごとに比較します。これは要約です: 従業員の総労働時間 > すべての従業員の総労働時間の平均 --> WHERE hrs_worked > AVG(SUM(HRS_WORKED)) これが私が望むものです。

SELECT employee.emp_id,
       employee.emp_name,
       SUM(action.hrs_worked) AS "Total Hours Worked"
FROM action
INNER JOIN allocation ON action.act_id = allocation.act_id
AND action.emp_id = allocation.emp_id
INNER JOIN employee ON allocation.emp_id = employee.emp_id
WHERE action.hrs_worked >
    (SELECT AVG(action.hrs_worked)
     FROM action)
GROUP BY employee.emp_id,
         employee.emp_name
ORDER BY SUM(action.hrs_worked) DESC
4

2 に答える 2

0

次のようになります。

SELECT * 
FROM  Orders
........... 
WHERE Price > (
           SELECT AVG(sum_pr) 
           FROM (
              SELECT SUM(Price) as sum_pr 
              FROM Orders 
              GROUP BY Price
                 )x
               )
于 2015-04-20T10:46:41.440 に答える