我正试图从数据库中的问题表中随机生成要在测验中回答的问题,但是我不希望在测验中有两个相同的问题。
当我问这个问题时,我正在使用它们将它们放入表格中
SqlCommand cmdInsert = new SqlCommand("INSERT INTO [dbo].[Tests]( TestID, UserID, Date, QuestionsID) VALUES ('"+1+"','"+ StudentLoginForm.UserInformation.UserID + "',GETDATE(),'" + QuestionID.Questionid + "')", con);
目的是将该表的内容与问题ID进行比较以选择问题。
我正在使用以下选择语句选择要提问的问题,但有时会产生相同的问题
SqlCommand cmd = new SqlCommand("SELECT QuestionID, Answer, Question, OptionA, OptionB, OptionC, OptionD FROM dbo.Questions LEFT JOIN Tests ON Questions.QuestionID = Tests.QuestionsID order by newid()", con);
任何帮助解决该问题的帮助将不胜感激。
答案 0 :(得分:0)
您的联接可能会产生重复,因此您必须修复数据或在查询中使用DISTINCT。
SELECT DISTINCT QuestionID, Answer, Question, OptionA, OptionB, OptionC, OptionD
FROM dbo.Questions
LEFT JOIN Tests ON Questions.QuestionID = Tests.QuestionsID