从一个表中读取数据并使用它从另一个表中读取数据

时间:2011-08-23 06:56:28

标签: mysql

我正在尝试在SQL Server 2008中实现一个小型问卷类型的数据库。问题是多项选择问题,为每个问题提供四种选择。问题存在于问题表中。并在另一个名为Answers的表中选择答案。所以,如果在QuestionID = 1的问题中有问题,答案中会有四个元组,如:

QuestionId=1, AnswerID=a    
QuestionId=1, AnswerID=b    
QuestionId=1, AnswerID=c    
QuestionId=1, AnswerID=d. 

我希望写一个单独的查询,将返回所有问题以及各自的答案选择。一种方法是:

SELECT Q.Question, A.Answer   
FROM Q.Questions  
INNER JOIN A.Answers  
ON Q.QuestionID = A.QuestionID

但这会同样回答4次问题;每个答案选择一次。有没有办法只返回一次,然后是四个答案选择,也没有使用任何迭代器或游标?

感谢您的时间: - )

1 个答案:

答案 0 :(得分:0)

你应该优化你的查询只需反转它

SELECT Q.Question,A.Answer
来自答案A. INNER JOIN问题问题 ON A.QuestionID = Q.QuestionID

可能会有效