1

我有这三个表来做一个小测验。每个问题有一个正确和三个错误的答案

表名: 列:
问题 QuestionID、QuestionText、
                            AnswerID(存储正确答案的 id)

答案 AnswerID、AnswerText、QuestionID
QuestionsAnswers QuestionID,AnswerID

这个查询

SELECT QuestionText, AnswerText
FROM [Questions] LEFT OUTER JOIN [Answers]
ON Questions.QuestionID=Answers.AnswerID;

给我以下结果

What is the capital of England? London
What is the capital of France?  Paris
What is the capital of USA?         Washington

我实际上还需要查看与每个问题分组的其他三个错误答案。有一些像

 What is the capital of England?    London
 What is the capital of England?    Berlin
 What is the capital of England?    BikiniBottom
 What is the capital of England?    Nottingham
 ... -- more results for France, USA and others follow

如何修改上面的查询以获得类似的结果?谢谢

4

4 回答 4

3

SELECT QuestionText, AnswerText FROM [Answers] LEFT OUTER JOIN [Question] ON Answers.QuestionID=Questions.QuestionID;

于 2013-08-07T08:50:14.717 回答
2

从你上面的表结构来看,怎么样

SELECT QuestionText, AnswerText
FROM [Questions] LEFT OUTER JOIN [Answers]
ON Questions.QuestionID=Answers.QuestionID;

注意Answers.QuestionID不是Answers.AnswerID

于 2013-08-07T08:49:25.330 回答
2

尝试这个

SELECT QuestionText, AnswerText
FROM [Questions] LEFT OUTER JOIN [Answers]
ON Questions.QuestionID=Answers.QuestionID;
于 2013-08-07T08:49:47.543 回答
1

也许您必须加入QuestionsAnswers尝试以下解决方案

SELECT QuestionText, AnswerText
FROM [Questions] 
JOIN [QuestionsAnswers] ON QuestionsAnswers.QuestionID=QuestionsAnswers.AnswerID;
JOIN [Answers] ON QuestionsAnswers.AnswerID=Answers.AnswerID;
于 2013-08-07T08:51:26.930 回答