Mysql 从两个或多个表中检索数据

Mysql 从两个或多个表中检索数据,mysql,vb.net,winforms,Mysql,Vb.net,Winforms,我正在winforms中制作一个连接到MySQL数据库的调查应用程序。现在我想展示一个问题的备选方案,以及每个问题有多少人回答。我有一个名为tblAlt的备选方案表和一个名为tblAnswers的用户答案表 每个问题只有5个备选方案。有没有办法得到每一个备选方案,以及有多少人用一个问题回答了每一个备选方案 这是我到目前为止所做的,但这绝对是错误的: SELECT tblAlt.altText, Count(tblAnswers.answerID) FROM tblAlt, tblAnswer

我正在winforms中制作一个连接到MySQL数据库的调查应用程序。现在我想展示一个问题的备选方案,以及每个问题有多少人回答。我有一个名为
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有一个指向用户和备选方案的链接。似乎工作得很好!正是我需要的。谢谢!也许你应该提出一个新问题,并解释你的问题似乎很有效!正是我需要的。谢谢!也许你应该提出一个新问题并解释你的问题