私は3つのテーブルを持っています。SurveyFact、質問、および回答。アンケート ファクトにはクライアントが行ったアンケートのデータが含まれ、質問と回答のテーブルには明らかなデータ、質問のリスト、および質問ごとの可能な回答が含まれます。
調査事実:
| SurveyFactID | ClientID | QuestionID | ResponseCode |
------------------------------------------------------------
| 1 | 1 | 1 | 3 |
| 2 | 1 | 2 | 3 |
| 3 | 1 | 3 | 1 |
質問:
| QuestionID| QuestionText |
-------------------------------------
| 1 | blah blah blah |
| 2 | blah blah blah |
| 3 | blah blah blah |
応答:
| ResponseID| QuestionID | ResponseCode |ResponseText |
-----------------------------------------------------------|
| 1 | 1 | 1 | like |
| 2 | 1 | 2 | don't care |
| 3 | 1 | 3 | hate |
| 4 | 2 | 1 | like |
| 5 | 2 | 2 | don't care |
| 6 | 2 | 3 | hate |
これが私が思いついたクエリです。(それは失敗します)
select
sf.QuestionCode as [Question Number],
q.QuestionText as [Question Text],
r.ResponseText as [Reponse]
from SurveyFact sf
inner join Question q
on q.QuestionID = sf.QuestionID
inner join Responses r
on r.ResponseCode = sf.ResponseCode
where sf.ClientID = '1'
and sf.QuestionID = q.QuestionID
and sf.ResponseCode = r.ResponseCode
select distinct を使用しても、SurveyFact にリストされている質問/回答の組み合わせだけではなく、考えられるすべての回答を含む調査と質問が得られます。
助けてください?
要求されたテーブル: 私が見ているもの
| Question Number | Question Text |Response Text |
------------------------------------------------------
| 1 | blah blah blah | like |
| 1 | blah blah blah | don't care |
| 1 | blah blah blah | hate |
| 2 | blah blah blah | like |
| 2 | blah blah blah | don't care |
| 2 | blah blah blah | hate |
私が欲しいもの:
| Question Number | Question Text |Response Text |
------------------------------------------------------
| 1 | blah blah blah | don't care |
| 2 | blah blah blah | like |
最初は数、質問、そしてすべての可能な答えです。2 番目は単なる数字、質問、選択した答えです