SQL连接三个表并选择信息

时间:2012-06-23 15:01:00

标签: sql

我有3张桌子

  • 医生 - Staff_ID,姓名,职位。
  • Consists_Of - Staff_Id,Team_Code。
  • 团队 - Team_Code,Telephone_No,Staff_ID

团队表由每个团队的团队负责人组成,他们也是一名医生,

我需要返回一个包含team_code,staff_Id,name,position

的表

我有

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,依此类推。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要的是使用JOIN。重复发生的原因是您没有指定博士和团队应该加入哪个领域

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表中有Staff_Id?