2017-04-27 4 views
0

こんにちは私はここで何をすべきかはSQLの初心者であり、私はすでに平均以上の給与を持っているすべての人を表示する方法を計算しました。平均給与は上回っていますが、マネージャの給与はそれより少ないスタッフですか? (SQL)

ここで、給与が平均よりも大きいがスーパーバイザの給与よりも少ないすべての人を表示する必要があります。

ここでは給与を平均よりも高くするために入力したコードを示します。

select first_name, last_name, salary 
from staff 
where salary >(select avg(salary) from staff); 

に行わ最初のセクションですが、場合、私はのためにSalarysをcalcalateする方法がわからない:人々は上司の少ないし、給料を持っていますが、平均以上。

テーブルが含まれています

FIRST_NAME、LAST_NAME、役割を、給与

+1

「監督者」と言うのは... 1つだけですか? –

+0

申し訳ありませんこれを明確にするのを忘れました。はい、このインスタンスには1つしかありません。 –

答えて

1

ただWHERE句に2つ目の条件を追加します。

select first_name, last_name, salary 
from staff 
where salary > (select avg(salary) from staff) and 
     salary < (select min(salary) from staff where role = 'supervisor') 

私は、あなたがしたいことをするロジックを解釈しています給与が監督者未満であるという条件を追加します。スーパーバイザーが1人しかいない場合でも、上記のクエリーは正しいはずです。

+0

ありがとう、この結果は完璧に働いて、私の将来の使用のためにこれを思い出してください。 –

関連する問題