2015-04-19 53 views
0

的所有部門我有這樣的EmployeeDepartmetn裁判表。我擁有Depeartment表中的所有部門和員工表中的員工。enter image description here如何讓員工編號爲

我想要爲某個員工提供部門以及依賴表中的所有部門。

它應該像Query中的選擇DepartmentId,DepartmentName,EmployeeID。

這裏的主要標準是,如果員工沒有該部門,則需要顯示NULL。我很困惑......請幫忙。

請給LINQ查詢提前

感謝

+2

使用'left join' – Matthew

回答

0

您可以有條件聚集做到這一點:

select DeptId, 
     max(case when EmployeeId = 1 then EmployeeId end) as EmployeeId 
from EmployeeDepartment ed 
group by DeptId; 

編輯:

如果你有一個departments表,以及:

select d.deptid, d.name, ed.employeeid 
from Departments d left join 
    EmployeeDepartment ed 
    on d.deptid = ed.deptid and 
     ed.employeeid = 1; 
在你的左
+0

你可以給我linq相同的...我想,但我無法給和條件加入 –

2

認沽標準加入:

Select distinct a.DeptID, b.DepartmentName, b.EmployeeID 
From Department a 
left join EmployeeDepartment b 
on a.DeptID = b.DeptID and b.EmployeeID = 1 --insert employee ID here 

它會顯示所有部門(甚至包括那些沒有員工),然後顯示在你只有當員工分配有第三列選擇僱員ID。