2012-04-08 5 views
0

このクエリの主な目標は、Mario Souzaという名前のマネージャの下にあるすべての部門と従業員を選択することです。このクエリを簡略化するにはどうすればよいですか?

これはうまくいっていますが、最初のIN結果を格納できる方法はありますか?そのため、後でAND演算子の後に使用できますか?

+0

1)従業員は、その部門のマネージャーとは異なるマネージャーを持つことができますか? 2)従業員がマリオと異なるマネージャを持っていて、マネージャがマリオの部署で働いている場合は、それを表示する必要がありますか? –

+0

これは実際には練習問題です。あなたが今質問した内容は質問ではありませんが、私は両方の方法で解決します。ありがとう。 –

答えて

2

EXISTSを使用すると、複数の列を照合することができます。

WHERE EXISTS 
(
    SELECT * 
    FROM employee AS manager 
    WHERE manager.name = 'Mario Souza' 
    AND manager.id = e.idmanager 
    AND manager.id = d.manager 
) 
+0

ありがとう、それは素晴らしい仕事をし、私は存在条件について知りませんでした。 –

1

従業員表があるJOINを使用できます。 ON句にmanagerとidmanagerの両方を入れるだけです。

+0

あなたの答えはこのケースでもうまくいき、簡単でした。ありがとう。 –

関連する問題