表1
id | question
1 | who will win the election
表 2
id | answers | question id
1 | I will | 1
表 3
id | photo | question id
1 | xy.gif| 1
表 4 * ユーザーは質問の提案と他のユーザーへの投票の両方を行うことができます
id | username
1 | joe
表 5
id | vote | question_id | user_id
1 | He | 1 | 1
1 回のクエリで次の情報を取得するクエリは何ですか?
- t1.* (すべての質問)
- t2 質問に関連するすべての回答
- t3 質問に関連するすべての写真
- 各質問の作成者の t4 ユーザー名
t5 質問に対する投票 (一部の質問には、ログインしているユーザーの投票がない可能性があります)
私の問題は、投票を取得する最後のポイントです(ただし、すべての質問に特定のログインユーザーによる投票があるわけではありません)
私のクエリは次のようになります。
SELECT
poll_questions.id,
poll_questions.question,
poll_questions.qmore,
poll_questions.total_votes,
poll_questions.active,
poll_questions.created_at,
poll_answers.answer,
poll_answers.votes,
poll_answers.id AS answer_id,
poll_photos.photo_name_a,
vote_history_raw.vote,
users.username
FROM poll_questions
LEFT JOIN (poll_answers, poll_photos)
ON (poll_answers.question_id = poll_questions.id AND
poll_photos.question_id = poll_questions.id
)
LEFT JOIN users ON poll_questions.author = users.id
INNER JOIN vote_history_raw ON users.id = vote_history_raw.user_id
WHERE poll_questions.active = 1
ORDER BY poll_questions.created_at DESC
どうもありがとう!