使用唯一ID's从两个表中读取数据

本文关键字:两个 数据 读取 ID 唯一 | 更新日期: 2023-09-27 17:54:00

我尝试从我的c#项目中的2个数据库表即AnswersTable和QuestionsTable中检索一些数据。AnswerTtable包含名为"QuestionID"answers"UserId"的列,我试图查询用户使用UserId和QuestionID尝试的每一个问题。如果用户尝试了10个问题,并且每个问题都有一个唯一的ID,我如何能够使用QuestionID查询用户尝试的所有问题。这就是我从AnswersTable

中检索questionId的方式
String questionid;
Query = "SELECT * FROM AnswersTable WHERE UserId = '1'";
           theReader = conn.ExecuteStatement(Query);
           while (theReader.Read())
           {

               questionid = theReader["QuestionId"].ToString();
           }

在我检索或读取questionID之后,我将它传递给下一个查询:

Query = "SELECT *  FROM QuestionsTable WHERE Id = '" + questionid + "'";
            theReader = conn.ExecuteStatement(Query);
            while(theReader.Read())
            {
              // I know I meant to do something in here in order to retrieve all the 10 attempted 
               //questions using their Unique IDs, how do I retrieve each and every question using 
               // the questionIDs?
            }

我希望这是有意义的,谢谢你

使用唯一ID's从两个表中读取数据

通过连接两个表,可以使用以下查询获得特定用户(在本例中为用户id = 1)的所有问题及其答案。这样就不需要两个数据读取器了。希望对你有帮助。

SELECT A.AnswerId      
      ,A.UserID
       ,A.QuestionId
      ,Q.Question
      ,A.Answer
FROM AnswersTable A
    INNER JOIN QuestionsTable Q ON Q.QuestionId = A.QuestionId
WHERE UserID = 1