2015-10-19 25 views
0

我們有兩張表,董事和員工顯示一個表中的所有記錄並僅顯示第二個匹配記錄,爲什麼左外部聯接不起作用?

董事表包含特定董事的所有記錄。

在某些情況下,董事可以負責一個或多個部門。

查詢下面示出了負責對三個部門例如導演的:如下所示通過樣本數據

select deptnum, DeptName, Empname, DirectorId from Directors where DirectorId ='9884476' 


DeptNum   DeptName EmpName   DirectorID 
750    HR   Doe, Jane  9884476 
755   Administration Doe, Jane  9884476 
803  Veterans Affairs Doe, Jane  9884476 

甲導演也是Employee表僱員:

DeptNum Department Empname  Empnum Email     Zip 
    750   HR  Doe, Jane  9884476 [email protected]  70612 

我我試圖做的是運行一個查詢,顯示導演信息以及她負責的三個部門,但下面的查詢僅生成一條記錄,HR如下所示:

DirectorID DeptNum Department EmpName EmpNum   Email    Zip 
9884476  750 HR   Doe, Jane 9884476 [email protected] 70612 
9884476  750 HR   Doe, Jane 9884476 [email protected] 70612 
9884476  750 HR   Doe, Jane 9884476 [email protected] 70612 

任何想法什麼關閉下面的查詢?

select h.DirectorID, 
     e.DeptNum, 
     e.Department, 
     e.EmpName as EmployeeName, 
     e.empnum, 
     e.Email, 
     e.zip 
FROM Employee e 
LEFT OUTER JOIN Directors h on e.empnum = h.directorId 
        AND h.directorid = '9884476' 
WHERE e.Password = 'T400s' 

我也嘗試過左連接,但無濟於事。

非常感謝您的協助。

+1

嘗試'h.Department'而不是'e.Department'。另外,'OUTER'是一個可選的關鍵字 - 所以'LEFT JOIN'和'LEFT OUTER JOIN'完全一樣。無需嘗試「兩者」。 –

回答

2

你想要h.DeptNum和h.DeptName來自董事而不是e表。

+0

就是這樣! 非常感謝 –

相關問題