2012-05-06 63 views
0

我正在連接到MySQL數據庫的winforms中進行調查應用程序。現在我想展示一個問題的選擇,以及每個問題有多少個答案。我有一個替代品名爲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_| |_____________| 

任何幫助,將不勝感激!

回答

2

我無法理解你的方案,希望這有助於:

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; 
+0

似乎工作得很好!正是我需要的。非常感謝! – janlindso

+0

也許您應該創建一個新問題並解釋您的問題 – ilanco

+0

現在可以工作。再次感謝! – janlindso

1

我想幫忙,但我需要一些澄清。問題是唯一的問題嗎?或者,對於其他一些問題表格,它是一個替代問題表格嗎?必須有一個缺少問題表或questID沒有任何意義,對嗎?此外,tblAnswers包含一個鏈接到用戶,但不是回答哪個問題(或替代)。所以,無論如何,如果還有其他表格,tblAnswers應該至少有一個altID或questID字段,這樣才能起作用。

+0

tblAlt是用戶可以選擇的替代品表。這是一項多項選擇調查,是的,還有一個問題表。我現在已經更新了我的模式。和我的錯誤:tblAnswers有一個鏈接到用戶和替代品,如你所說。 – janlindso