0

so my main goal with this query is to select all departments and employees under a manager named Mario Souza.

SELECT d.deptname,e.name FROM employee e JOIN department d ON e.dept = d.deptnum WHERE idmanager IN(
SELECT id FROM employee WHERE name = 'Mario Souza' 
) AND manager IN(
SELECT id FROM employee WHERE name = 'Mario Souza' 
)

And it's working, but is there a way I could store the first IN result so I could use it later after the AND operator?

4

2 に答える 2

2

You can use EXISTS to match on multiple columns.

WHERE EXISTS
(
    SELECT *
    FROM employee AS manager
    WHERE manager.name = 'Mario Souza'
    AND manager.id = e.idmanager
    AND manager.id = d.manager
)
于 2012-04-08T21:42:51.853 に答える
1

You could use a JOIN with employee table. Simply put both manager and idmanager in ON clause.

于 2012-04-08T21:29:19.680 に答える