複数のテーブルからデータを取得するための助けが必要です。データベース内の複数のテーブルのデータを返す
これは私が持っているテーブルです。
_______________ ______________ ___________ _______________ _____________
|_tblUsers____| |_tblAnswers__| |_tblAlt__| |_tblQuestion_| |_survey_____|
| userID | | answerAltID | | altID | | questID | | surveyID |
| username | | userID | | altText | | questText | | surveyName |
|_____________| |_____________| |_questID_| |_surveyID____| |____________|
TblUsersは、システム内のユーザーのリストを持って、tblAnswersはユーザーから与えられたすべての答えを持っている、tlbAltは質問の選択肢を保持し、tblQuestionがあり質問。 tblSurveysと呼ばれるもう1つのテーブルがありますが、tblQuestionにIDが記載されているので、これは必要ありません。
これは私がこれまで持っているものです。
SELECT
tblQuestion.questText,
tblAlt.altText,
Count(tblAnswers.answerID) as answers_count,
(SELECT COUNT(answerID) FROM tblAnswers, tblAlt
WHERE tblAnswers.answerAltID = tblAlt.altID
AND tblAlt.questID = " & CInt(questionID) & ") as total_count
FROM tblAlt, tblQuestion
LEFT JOIN tblAnswers ON (tblAlt.altId = tblAnswers.altID)
WHERE tblAlt.questID = " & CInt(questionID) & "
GROUP BY tblAlt.altText;
これは、このような行を返します。
を| blablablaとは何ですか? |答えは... | 2(答えた)| 10(合計 答え)|
これは残念ながら、1つの質問のすべての行を返します。同じ調査(調査IDに基づく)の一部であるすべての行を取得する方法はありますか?
出力は次のようにしたい場合:
| blablablaとは何ですか? |答えは... | 2(答えた)| 10(合計 答え)|アンケートの名前|
すべての選択肢を返信したいとします(回答数、合計回答数、関連する質問と調査)。
更新:
この私の入力:
SELECT tblalternativ.altTekst, tblalternativ.altID, Count(tblsvar.svarAltID) as antSvar,
(SELECT COUNT(*) FROM tblsvar, tblalternativ
WHERE tblsvar.svarAltID = tblalternativ.altID
AND tblalternativ.altSpmID = " & CInt(lblQuestion.Tag) & ") as antTotal,
(SELECT Count(*) FROM tblalternativ WHERE altSpmID = " & CInt(lblQuestion.Tag) & ") as spmTotal
FROM(tblalternativ) LEFT JOIN tblsvar ON (tblalternativ.altId = tblsvar.svarAltID)
WHERE(tblalternativ.altSpmID = " & CInt(lblQuestion.Tag) & ")
GROUP BY tblalternativ.altTekst ORDER BY tblalternativ.altID ASC
マイ出力:一つの質問に対して
altTekst altID antSvar antTotal spmTotal
Black 83 1 3 5
Green 84 1 3 5
Yellow 85 1 3 5
White 86 0 3 5
Pink 87 0 3 5
しかし、これだけのショーの統計。 1回の調査ですべての質問を表示したい。だから私はその調査、質問名、調査IDのすべてをaltTekst
にする必要があります。
は私がしたい:
spmTekst altTekst altID antSvar antTotal spmTotal evalID
What is... Black 83 1 3 5 1
What is... Green 84 1 3 5 1
What is... Yellow 85 1 3 5 1
What is... White 86 0 3 5 1
What is... Pink 87 0 3 5 1
Who is.... The king 88 2 3 3 1
Who is.... The pope 89 0 3 3 1
Who is.... The president 90 1 3 3 1
Which.... Shoe 91 2 3 2 1
Which.... Hat 92 1 3 2 1
言い換えれば、私は(evalIDに基づいて)同じ調査ですべての質問の統計が欲しいです。
GOD私のああ、なぜまだuといけませんサンプルの出力表を表示します。希望の出力はこのテキスト記述以外にどのように表示されますか? – nawfal
これがあなたが望むアウトプットであることを確信しているならば、「これは1つの質問の統計だけを表示します」と言っても間違いです。実際には、この正確なクエリ – nawfal
を持つ2つの追加の列を選択するだけの問題はここにspmTekstとevalIDですか?どの列からテーブル? – nawfal