何度も失敗した後、理解できないように見える問題があります。
レポートのために結合する必要がある 3 つのテーブルがあり、2 番目のテーブルにはレコードが存在しない可能性があります。レコードが存在しない場合は、3 番目のテーブルから取得したデータの null 値を報告する必要があります。
最も基本的な形式のテーブル構造は次のとおりです (調査用です)。
表A(調査) ----------------------- 測量番号 | 調査 ID 016243023708 1152010 表 B (応答) ---------------------------------- 調査 ID | 質問ID | 応答 ID 1152010 1279235 486 表 C (応答値) -------------------- 応答 ID | 価値 486はい
表 B にレコードが存在しない理由を説明するのは、調査が完了すると値が挿入されるためです。ユーザーが調査を終了せずに終了した場合 (後で戻ってくる可能性があります)、テーブル B のレコードは存在しません。この場合、テーブル C の値は null として報告される必要があります。
もう少し簡単になれば、質問 ID 1279235 に特化したレポートを作成する必要があります。
これは、これまでに作成したクエリです (質問 1279235 のテーブル b でレコードが欠落している調査以外はすべて表示されます)。
SELECT A.SurveyNumber, A.SurveyId, B.QuestionID, C.Value
FROM tblA A
LEFT JOIN tblB B
ON A.SurveyId = B.SurveyId
LEFT JOIN tblC C
ON B.ResponseId = C.ResponseId
WHERE B.QuestionId = 1279235
必要に応じて、さらに明確にすることができます。
前もって感謝します