2011-06-21 18 views
-1

でクエリに参加します。私は、これは、従業員との接合かなり強烈に関与動作し、テーブルを管理して知っている、と私は非常に動作するものを得ることができません。誰かが私を助けて、その解決方法を説明できますか?SQLは、私は次のようなレイアウトを使用してデータベースを持っている複数のテーブル

+0

は宿題のようです – Balanivash

+1

http://ja.wikipedia.org/wiki/Join_(SQL) – Ruben

答えて

1
SELECT w.person_name 
FROM works w 
    INNER JOIN manages m 
     ON m.person_name = w.person_name 
      INNER JOIN works wManager 
       ON wManager.person_name = m.manager_name 
WHERE w.salary > wManager.salary 
2

まず第一に、名前は偉大なキーではありません。

答えの鍵は、テーブルに複数回参加できます(テーブルの別名を付けることで、参照するテーブルを区別できることです)。

あなたのためのクエリを書くことがなければ、(これはあなたの従業員の給与を与える)あなたは作品と会社を通じて参加し、従業員を選択するべきであることを意味します。これは、管理者の詳細を取得するために従業員に戻ってくるManagedを介して結合する必要があります。このバージョンの従業員は、マネージャに給与を得るために2回目にWorksに参加できます。次にWHERE節の給与を比較します。

関連する問題