Data Explorer Query でのエクスポート用追加パラメータの追加

「トピックに返信したユーザー」のリストに、ユーザーの「名前」を含めたいです。

別のスレッドで使われている慣習に従って、Data Explorer クエリに追加情報を含ませるように試みましたが、同じ構文を適用しても機能しませんでした。

現在実行しているクエリは以下の通りで、トピックに返信したユーザーの「ユーザー名」のみを返しています…

-- https://meta.discourse.org/t/68756/8?u=sidv

-- [params]
-- topic_id :topic_id = 536

SELECT u.username
FROM badge_posts p
JOIN topics t ON p.topic_id = t.id 
JOIN users u ON p.user_id  = u.id
WHERE t.id = :topic_id
GROUP BY p.user_id,u.username

追加

 , u.name

最初の行の u.username の後に追加してください。

この件で迅速にご対応いただき、ありがとうございます、Jayさん!

ご提案いただいた通り、以下に更新しました:

SELECT u.username, u.name
FROM badge_posts p
JOIN topics t ON p.topic_id = t.id 
JOIN users u ON p.user_id  = u.id
WHERE t.id = :topic_id
GROUP BY p.user_id,u.username

…その後、以下のエラーが発生しました…

PG::GroupingError: ERROR:  column "u.name" must appear in the GROUP BY clause or be used in an aggregate function
LINE 12: SELECT u.username, u.name

そこで、クエリを以下のように変更したところ、見事に動作しました!:tada:

SELECT u.username, u.name
FROM badge_posts p
JOIN topics t ON p.topic_id = t.id 
JOIN users u ON p.user_id  = u.id
WHERE t.id = :topic_id
GROUP BY p.user_id,u.username,u.name

つまり、元のスニペットから以下の追加を行いました:

"SELECT"行に:
, u.name

"GROUP BY"行に:
,u.name

この構文についてお手伝いいただき、@pfaffman さん、改めてありがとうございます!

ついに教育の博士号が実を結びましたね!

お疲れ様でした!

:squinting_face_with_tongue: ええ、その通りです!またもやありがとう :wink: