Mysql 从两个或多个表中检索数据
我正在winforms中制作一个连接到MySQL数据库的调查应用程序。现在我想展示一个问题的备选方案,以及每个问题有多少人回答。我有一个名为Mysql 从两个或多个表中检索数据,mysql,vb.net,winforms,Mysql,Vb.net,Winforms,我正在winforms中制作一个连接到MySQL数据库的调查应用程序。现在我想展示一个问题的备选方案,以及每个问题有多少人回答。我有一个名为tblAlt的备选方案表和一个名为tblAnswers的用户答案表 每个问题只有5个备选方案。有没有办法得到每一个备选方案,以及有多少人用一个问题回答了每一个备选方案 这是我到目前为止所做的,但这绝对是错误的: SELECT tblAlt.altText, Count(tblAnswers.answerID) FROM tblAlt, tblAnswer
tblAlt
的备选方案表和一个名为tblAnswers
的用户答案表
每个问题只有5个备选方案。有没有办法得到每一个备选方案,以及有多少人用一个问题回答了每一个备选方案
这是我到目前为止所做的,但这绝对是错误的:
SELECT tblAlt.altText, Count(tblAnswers.answerID)
FROM tblAlt, tblAnswers
WHERE tblAlt.questionID = " & CInt(questionID) & "
AND tblAnswers.altID = tblAlt.altID
涉及的表格包括:
_______________ _______________ ___________ _______________
|_tblUsers____| |_tblAnswers___| |_tblAlt__| |_tblQuestion_|
| userID | | answerAltID | | altID | | questID |
| username | | userID | | altText | | questText |
|_____________| |______________| |_questID_| |_____________|
任何帮助都将不胜感激 我很想帮忙,但我需要一些澄清。tblAlt是唯一的问题表吗?或者,它是一个其他问题表的备选问题表?肯定有一张缺少的问题表,或者问题没有任何意义,对吧?此外,tblAnswers包含指向用户的链接,但不包含回答了哪个问题(或备选方案)。因此,不管有没有其他表,tblAnswers至少应该有一个altID或questID字段,这样才能工作。我很想帮忙,但我需要一些澄清。tblAlt是唯一的问题表吗?或者,它是一个其他问题表的备选问题表?肯定有一张缺少的问题表,或者问题没有任何意义,对吧?此外,tblAnswers包含指向用户的链接,但不包含回答了哪个问题(或备选方案)。因此,不管有没有其他表,tblAnswers至少应该有一个altID或questID字段,这样才能工作。我很难理解您的模式,希望这有助于:
SELECT
tblAlt.altText,
Count(tblAnswers.answerID)
FROM tblAlt
LEFT JOIN tblAnswers ON (tblAlt.altId = tblAnswers.altID)
WHERE tblAlt.questionID = " & CInt(questionID) & "
GROUP BY tblAlt.altText;
我无法理解您的模式,希望这有助于:
SELECT
tblAlt.altText,
Count(tblAnswers.answerID)
FROM tblAlt
LEFT JOIN tblAnswers ON (tblAlt.altId = tblAnswers.altID)
WHERE tblAlt.questionID = " & CInt(questionID) & "
GROUP BY tblAlt.altText;
tblAlt是供用户选择的备选方案表。这是一项多项选择题调查。是的,还有一个问题表。我现在已经更新了我的模式。我的错误是:TBLANWERS有一个指向用户和备选方案的链接,正如您所说。tblAlt是供用户选择的备选方案表。这是一项多项选择题调查。是的,还有一个问题表。我现在已经更新了我的模式。我的错误是:正如你所说,tblAnswers有一个指向用户和备选方案的链接。似乎工作得很好!正是我需要的。谢谢!也许你应该提出一个新问题,并解释你的问题似乎很有效!正是我需要的。谢谢!也许你应该提出一个新问题并解释你的问题