Ciao a tutti,
Ho appena scritto un post qui su come i nostri utenti abusano (o forse “usano male”?) della funzione dei sondaggi per creare il proprio quiz pubblico.
Ho creato una piccola query che ottiene i risultati di un post con N sondaggi, inclusi quali utenti hanno votato per quale opzione del sondaggio.
Ecco la query; potrebbe essere utile anche per altri. Si prega di notare che il link contiene ulteriori informazioni su come abbiamo impostato il quiz e su come otteniamo i risultati.
-- [parametri]
-- int :topic_id
-- int :post_number
SELECT polls.name AS "Nome sondaggio", poll_options.html AS "Risposta", poll_votes.user_id AS "ID utente", users.username AS "Nome utente"
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