我正在尝试在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次问题;每个答案选择一次。有没有办法只返回一次,然后是四个答案选择,也没有使用任何迭代器或游标?
感谢您的时间: - )
答案 0 :(得分:0)
你应该优化你的查询只需反转它
SELECT Q.Question,A.Answer
来自答案A.
INNER JOIN问题问题
ON A.QuestionID = Q.QuestionID
可能会有效