이것을 다음과 같이 단순화할 수 있을 것 같습니다 (또한 데이터 탐색기의 마법 같은 기능도 활용하고요):
-- [params]
-- post_id :post_url
-- text :poll_name = poll
SELECT
pv.user_id,
po.html AS answer,
ue.email
FROM poll_options po
JOIN poll_votes pv ON po.id = pv.poll_option_id
JOIN polls p ON p.id = pv.poll_id
JOIN user_emails ue ON pv.user_id = ue.user_id AND ue.primary
WHERE p.post_id = :post_url
AND p.name = :poll_name
ORDER BY po.html
post_id 파라미터 유형을 사용하면 게시글 URL을 붙여넣으면 해당 post_id를 가져올 수 있습니다 (예: https://meta.discourse.org/t/export-a-list-of-user-emails-by-user-id/373768/5). 그리고 게시글에 있는 대부분의 단일 투표는 같은 게시글에 두 번째 투표를 추가하거나 수동으로 추가하지 않는 한 단순히 'poll’이라고 이름 붙여지므로, :poll_name의 기본값으로 설정하는 것이 유용해 보였습니다.
또한 user_id에는 마법 같은 기능이 있어, 단순히 순수한 사용자 ID를 표시하는 대신 사용자 카드/프로파일로 연결되는 아바타와 사용자 이름 링크를 표시합니다. 이는 결과를 '사이트 내’에서 확인할 때 매우 유용하지만, 내보내기를 계획하고 있다면 사용자 이름의 텍스트 버전을 얻으려면 users 테이블을 다시 추가해야 합니다.