2016-07-23 1 views
-1

私はこのテーブルを持っている:MySQLのクエリ

EMPLOYEES(Code, Name, Surname, Type, Department, Salary) 

私は、ビューを使用せずに給与の最高総費用と部署を表示する必要があります。それは可能ですか?この問題を解決するソリューションは次のとおりです。

CREATE VIEW DEPEXPENSES (DEPNAME, EXPENSE) AS 
SELECT DEPARTMENT, SUM(SALARY) 
FROM EMPLOYEES 
GROUP BY DEPARTMENT 

SELECT DEPNAME 
FROM DEPEXPENSES 
WHERE EXPENSE=(SELECT MAX(EXPENSE) FROM DEPEXENSES) 

ありがとうございました。

+2

あなたの文章は、あなたのコードよりも他のsamething –

+0

あなたは正しいん、私は」と言います今すぐメッセージを編集しました。 – JamieITGirl

答えて

1

質問はあまり明確ではありませんが、私はビューを使わずに2番目のクエリを実行したいと思います。一つの解決策はこれです:

select 
    DEPARTMENT, 
    SUM(SALARY) 
from 
    EMPLOYEES 
group by 
    DEPARTMENT 
having 
    SUM(SALARY)=(
    select MAX(SALARY) from (
     select DEPARTMENT, SUM(SALARY) as SALARY 
     from EMPLOYEES 
     group by DEPARTMENT 
    ) s 
) 

(すでに集計関数を含むサブクエリの最大集約関数を適用することができます)

+0

あなたが正しいです、私は私のメッセージを修正しました。私はいくつかのDMBSがhaving節のselectを認識しないことを知っているので、他の方法(存在すれば!)を見つける必要があります。ありがとう。 – JamieITGirl