0

部門の平均賃金よりも多くのお金を稼いでいる従業員の情報を取得する必要があります... 10、20、30、40、50 という名前の部門があります。ここで、1 つの部門だけに必要なものを取得できました。(40) 可能な限り多くの部門に対して、どうすればそれを行うことができますか?

これは私のクエリです:

SELECT  * FROM    EMPLOYEE where (Department_ID='40')and 
 (
 employee_salary > 
  (select avg(employee_salary) from EMPLOYEE  where  Department_ID='40')   
 )

Datatable: データ表

4

4 に答える 4

4

これでうまくいくといいのですが、

    SELECT  emp.* FROM    EMPLOYEE emp where emp.employee_salary >
      (  select avg(employee_salary) from EMPLOYEE new1 
         where emp.Department_ID=new1.Department_ID 
         group by  Department_ID  
      ) 
于 2012-12-19T11:22:43.897 に答える
0

このクエリを試してください

select * from EMPLOYEE as e1
where e1.employee_salary > (select avg(employee_salary) 
                         from EMPLOYEE as e2 
                         where e1.department_id=e2.department_id
                         group by Department_id)
于 2012-12-19T11:21:18.833 に答える
0

あなたはこれを試すことができます:

    SELECT  *, avg(employee_salary) as average_salary 
FROM    EMPLOYEE 
where Department_ID='40' 
having average_salary<employee_salary
于 2012-12-19T11:23:04.017 に答える
0
select e.* from employee as e inner join
    (select department_id, avg(employee_salary) as avg_salary
        from employee group by department_id) as f
on e.department_id = f.department_id
where e.employee_salary > f.avg_salary;
于 2012-12-19T11:24:21.127 に答える