# IDまたはユーザー名でユーザーメールリストを書き出す一番簡単な方法？

**URL:** <https://meta.discourse.org/t/export-a-list-of-user-emails-by-user-id/373768>\
**Category:** Data & reporting\
**Created:** [2025 年 7 月 10 日午後 4:35 UTC](https://meta.discourse.org/t/export-a-list-of-user-emails-by-user-id/373768 "2025-07-10T16:35:47Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [2025 年 7 月 11 日午前 8:00 UTC](https://meta.discourse.org/t/export-a-list-of-user-emails-by-user-id/373768/7 "2025-07-11T08:00:55Z")

</div>

これを次のように簡略化できると思います（データエクスプローラーのマジックにも頼ることができます）。

```sql
-- [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`）。また、投稿内のほとんどの単一の投票は、2番目の投票が同じ投稿に追加される（または手動で追加される）まで、単純に「poll」と呼ばれます。そのため、`:poll_name` のデフォルトとしてこれを含めることは便利だと思われます。

また、`user_id` にはいくつかのマジックがあり、アバターとユーザー名が表示され、単純なユーザー ID ではなく、ユーザーカード/プロフィールへのリンクになります。結果を「オンサイト」で表示するには非常に便利ですが、エクスポートする場合は、テキストバージョンのユーザー名を取得するために `users` テーブルを再度追加する必要があります。

---

_[View the full topic](https://meta.discourse.org/t/export-a-list-of-user-emails-by-user-id/373768)._
