2012-05-06 27 views
0

MySQLデータベースに接続されたwinformsでsurvey-applicationを作成しています。今私は質問の選択肢と、それぞれの質問に答えた人の数を示したいと思います。私はtblAltと呼ばれる代替のテーブルと、tblAnswersと呼ばれるユーザーからの回答のテーブルを持っています。2つ以上のテーブルからデータを取得する

各質問には5つの選択肢しかありません。それぞれの選択肢を得る方法はありますか?1つのクエリでそれぞれの回答にどれだけ回答しましたか?

これは私がこれまでに作ったものですが、これは間違いなく間違っている:関与

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

私はお手伝いしたいと思いますが、私はいくつかの説明が必要です。唯一の質問表ですか?それとも、他の質問表の代替質問表ですか?見つからない質問やクエストIDが本当に意味をなさないのでしょうか?また、tblAnswersにはユーザーへのリンクが含まれていますが、どの質問(または代替)に回答したのかはわかりません。したがって、別のテーブルがあるかどうかにかかわらず、tblAnswersは少なくともこれが動作するためにaltIDまたはquestIDのフィールドを持つ必要があります。

+0

tblAltの中から選択するユーザーのための代替のためのテーブルです。多肢選択式の調査です。はい、質問の表もあります。今すぐスキーマを更新しました。と私の間違い:tblAnswersはあなたと言ったようにユーザーと代替の両方にリンクしています。 – janlindso

関連する問題