我有3個表Employee
,Project
和Assignment
。一名員工可以分配到多個項目,一個項目可以有多個員工。 Assignment
表保持員工和項目之間的多對多關係。我想在sql server中的一個sql查詢返回一個同時在多個項目上工作過的員工列表。基於多對多關係的sql查詢
表
的Staructure表僱員
EmpId,
EmpName
表項目
ProjId,ProjName,ProjStartDate,ProjEndDate
分配
AssignmentId,ProjId,EmpId,AssStartDate,AssEndDate
感謝Bummi快速answer.Meanwhile,我也來與解決方案 – user1920851
選擇ass.Eid,算上從分配的屁股(PID)NumOfProjects 內加入 (EID選擇,MIN(AssStartDate)作爲起始日期,MAX(AssEndDate)作爲結束日期從ass.Eid = abc.Eid 分配 組通過EID)爲abc 其中具有COUNT(驢abc.StartDate和abc.EndDate之間ass.AssStartDate 組由ass.Eid。 pid)> 1 – user1920851
但是你的查詢很不錯,不同於傳統的sql思維 – user1920851