2011-12-05 6 views
1

J'ai trois tables avec les colonnes indiquées:Sélection des tables avec deux conditions

- tblEmployee 
    - EmployeeID FK 
    - FirstName 
    - LastName 
    - IsActive 

- tblEmployeeMapping 
    - ID FK 
    - EmployeeID 
    - ManagerID 

- tblManager 
    - ManagerID 
    - ManagerName 

j'ai besoin des déclarations SQL SELECT qui sélectionnera les employés qui sont sous la ManagerID et que le tblEmployee.IsActive = 1 (TRUE) .

Répondre

3

Ici, vous allez:

SELECT e.FirstName, e.LastName, m.ManagerName 
    FROM tblEmployee e INNER JOIN tblEmployeeMapping em ON e.EmployeeID = em.EmployeeID 
     INNER JOIN tblManager m ON em.ManagerID = m.ManagerID 
WHERE e.IsActive = 1 

et si vous voulez limiter les employés à un gestionnaire spécifique, vous pouvez modifier l'instruction WHERE à:

WHERE e.IsActive = 1 
    AND em.ManagerID = @ManagerID 

@ManagerID est un paramètre qui contient l'ID du manager.

Questions connexes