すべて、次の mySQL テーブル構造があります。
テーブル dj_feedback_answers: answer_id、gig_id、question_id、answer_id テーブル dj_feedback_summary: summary_id、user_id、gig_date、tip、summary、why_poor、why_fair テーブル dj_feedback_questions: question_id、question_value、question_display テーブル dj_feedback_ratings: rating_id、rating_value、rating_display
私は基本的にユーザーに質問をしています。質問は dj_feedback_questions テーブルに保存され、質問ごとに評価を付けることができます。評価は dj_feedback_ratings に保存されます。
各フォームにはさまざまな質問を含めることができるため、質問を送信すると、回答が dj_feedback_answers に保存されます。フォームには他にも静的フィールドがあり、それらは dj_feedback_summary に svaed されます。summary_id と gig_id は、ユーザーが送信した回答の 2 つのテーブルを接続するキーです。
これは、dj_feedback_summary テーブルの 1 つの行に対して、dj_feedback_answers に複数の行が存在する可能性があることを意味します。
私がやりたいことは、基本的に結果を PHP テーブルで利用できるようにすることです。したがって、結果を次のようにしたいと思います (dj_feedback_questions テーブルに 3 つの質問があると仮定します)。
summary_id、user_id、gig_date、tip、summary、why_poor、why_fair、question_1、question_2、question_3 1, 2, 2012/07/23, 5, これはまとめです, 悪かったです, 普通でした, 3, 4, 5
質問に対して保存される値は、dj_feedback_answers からの answer_id です。
結果を取得するために、次のクエリを作成しようとしました。これは問題なく動作しますが、すべての質問ではなく、1 つの質問しか表示できません。
Select dj_feedback_summary.summary_id,
dj_feedback_summary.user_id,
dj_feedback_summary.gig_date,
dj_feedback_summary.tip,
dj_feedback_summary.summary,
dj_feedback_answers.question_id,
dj_feedback_answers.rating_id,
dj_feedback_questions.question_value,
users.first_name, users.last_name,
dj_feedback_ratings.rating_value
from dj_feedback_summary
join dj_feedback_answers on dj_feedback_summary.summary_id=dj_feedback_answers.gig_id
join dj_feedback_questions on dj_feedback_answers.question_id=dj_feedback_questions.question_id
join users on dj_feedback_summary.user_id=users.user_id
join dj_feedback_ratings on dj_feedback_ratings.rating_id=dj_feedback_answers.rating_id
where dj_feedback_questions.question_value='Overall Gig'
order by dj_feedback_summary.summary_id DESC
クエリを変更して、結果を希望どおりに返す方法はありますか?
どんなアドバイスでも大歓迎です!
ありがとう