使用唯一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 = 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