从3个表中获取ID

时间:2012-06-06 10:40:10

标签: mysql

一个包含团队ID和团队名称的团队表,然后是另外两个包含测验数据的表格,另一个表格包含调查问卷中的数据。

我需要获得已完成测验的团队ID列表(因此有一些测验数据)和调查问卷(所以有一些调查问卷数据)但是我看不到如何加入3个表来获得我需要的ID列表。

任何指针都很受欢迎

2 个答案:

答案 0 :(得分:1)

正如你在评论中所说的那样..

  

我实际上想要任何一个数据表中的团队ID。怎么样   会修改查询吗? - 戴夫

试试这个,这就是我用你的话理解的......

select teamID,teamName from team where teamID in (select teamID from quiz) or teamID in (select teamID from questionnaire);

答案 1 :(得分:0)

假设您在测验和问卷表中有一些团队表的参考,您将需要以这种方式进行连接 -

SELECT team.id, team.name
from 
 team, quiz, questionnaire
where
 team.id=quiz.team_id
 AND team.id=questionnaire.team_id

当您执行team.id=quiz.team_id AND team.id=questionnaire.team_id时,结果中只会显示测验和问卷调查表中显示的那些团队ID。


如果您需要在任何一个表格测验或问卷中存在的团队ID,那么您将AND替换为OR -

SELECT team.id, team.name
from 
 team, quiz, questionnaire
where
 team.id=quiz.team_id
 OR team.id=questionnaire.team_id