2012-06-23 41 views
0

我有3個表SQL連接三個表和選擇信息

  • 醫生 - Staff_ID,姓名,職務。
  • Consists_Of - Staff_Id,Team_Code。
  • 團隊 - Team_Code,Telephone_No,Staff_ID

球隊表由領隊各隊誰也是一個醫生,

我需要返回擁有team_code,staff_Id,名稱的表,位置

我有

SELECT DISTINCT Team.team_code, Doctor.staff_ID, name, position 
FROM Doctor, Team LEFT OUTER JOIN consists_of 
ON Team.Team_code = consists_of.Team_code 

但是,這讓每一個留隊的代碼,T1和T2隨後的每個成員,然後t3中的d等等。

任何想法?

+0

我認爲你需要使用staff_id在醫生和團隊之間進行加入。你是否想要退回所有的團隊領導? –

+0

我沒有得到什麼Consists_Of表。 –

+0

由...組成的是工作人員ID列表和他們鏈接的團隊代碼。表格團隊包含團隊代碼,電話號碼和團隊領導staff_id – user445714

回答

0

你需要的是使用JOIN。重複發生是因爲您沒有指定Doctor和Team應該加入哪個字段

SELECT Team.team_code, Doctor.staff_ID, name, position 
FROM Doctor 
LEFT OUTER JOIN consists_of 
    ON Doctor.Staff_Id=consists_of.Staff_Id 
LEFT OUTER JOIN Team 
    ON Team.Team_code = consists_of.Team_code 

但是您爲什麼在Team table中有Staff_Id?

+0

'Team.Staff_ID'可能是對團隊領導的參考。 –