2012-06-06 56 views
0

包含團隊ID和團隊名稱的團隊表,然後包含來自測驗的數據和來自問卷的數據的另外兩個表。從3個表中獲取ID

我需要得到已經完成測驗(所以有一些測驗數據)和問卷(所以有一些問卷數據)的團隊ID列表,但我不明白如何加入3表得到我需要的ID列表。

任何指針大受接待

+0

http://en.wikipedia.org/wiki/Join_(SQL)? – gtiwari333

+2

請告訴我們您的三個表格結構。 – manurajhada

回答

1

正如你在上評論說..

我實際上想要在任一數據表中的團隊ID。 如何修改查詢? - 戴夫

試試這個,這是我理解你的話..

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

謝謝你,我結束了使用這種方法,因爲它給了我正確的結果,如果任何表是空的。 – Dave

0

假設你有內部測驗和問卷調查表團隊表的一些參考,您將需要一個加入這樣 - 當你做team.id=quiz.team_id AND team.id=questionnaire.team_id只有那些球隊

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

結果中會顯示測驗和問卷表中的ID。


如果你需要它存在於兩種表測驗或問卷調查的團隊ID,那麼你將取代ANDOR -

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

你怎麼知道其他2個表包含團隊ID? – giorashc

+0

@giorashc,與你同意。大聲笑.. – manurajhada

+0

這是假設測驗和問卷表有參考。 OP的第二句話說,測驗和問卷表都有團隊相關的數據。我的假設可能是錯誤的,有可能這個結構使用了一些交叉引用表。假設在測驗和問卷中已經有一些參考,這只是一個可能的答案。編輯我的答案 – Kshitij