Olá a todos,
Acabei de escrever um post aqui sobre como nossos usuários fazem uso indevido (ou abusam?) do recurso de enquetes para criar seus próprios quiz de pub.
Criei uma pequena consulta que obtém os resultados de um post com N enquetes, incluindo qual usuário votou em qual opção da enquete.
Esta é a consulta. Talvez seja útil para outras pessoas também. Observe que o link contém mais informações sobre como configuramos o quiz e como obtemos os resultados.
-- [params]
-- int :topic_id
-- int :post_number
SELECT polls.name AS "Poll name", poll_options.html AS "Answer", poll_votes.user_id AS "User ID", users.username AS "Username"
FROM poll_options
INNER JOIN poll_votes ON poll_options.id=poll_votes.poll_option_id
INNER JOIN polls ON polls.id=poll_votes.poll_id
INNER JOIN users ON users.id=poll_votes.user_id
WHERE poll_options.id IN (
SELECT id FROM poll_options WHERE poll_options.poll_id IN (
SELECT id FROM polls WHERE post_id IN (
SELECT id FROM posts WHERE topic_id=:topic_id AND post_number=:post_number )
)
)
ORDER BY polls.name, html