2012-04-08 3 views
0

이 쿼리의 주요 목표는 Mario Souza라는 관리자 아래 모든 부서와 직원을 선택하는 것입니다. 나중에 AND 연산자 후이 쿼리는 어떻게 단순화합니까?

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' 
) 

그리고 그것은 일하고있어,하지만 난 저장할 수있는 방법이 그래서 그것을 사용할 수있는 결과의 첫 번째가?

+0

1) 따라서 직원은 자신이 근무하는 부서의 관리자와 다른 관리자를 가질 수 있습니까? 2) 직원이 마리오와 다른 관리자가 있지만 관리자가 마리오 인 부서에서 근무하는 경우 표시해야합니까? –

+0

그것은 실제로 운동이며 질문은 방금 물어 본 내용을 지정하지는 않지만 두 가지 방법으로 해결할 것입니다. 감사. –

답변

2

EXISTS을 사용하면 여러 열을 일치시킬 수 있습니다.

+0

감사합니다. 훌륭한 결과를 얻었고 EXIST 조건에 대해 알지 못했습니다. 다시 보여 주셔서 다시 한 번 감사드립니다. –

1

직원 테이블이있는 JOIN을 사용할 수 있습니다. 단순히 ON 절에 manager와 idmanager를 둘 수 있습니다.

+0

당신의 답은이 경우에도 효과가 있었고 더 간단했습니다. 감사. –

관련 문제