Data Explorer Query CSV Export は user_id を報告、結果画面ではユーザー名が表示される

これはおそらく経験の浅いクエリ作成者(私)によるものです。カスタムフィールド(Fediverseのユーザー名を入力してもらっています)にテキストを入力したすべてのユーザーを報告するためにData Explorerクエリを実行します。

SELECT ucf.user_id,
       ucf.value,
       ucf.updated_at AS reltime$time
FROM user_custom_fields ucf
WHERE ucf.name = 'user_field_9'
AND LENGTH(ucf.value) > 1
ORDER BY ucf.updated_at DESC

これはうまく機能し、Discourseのユーザー名とその入力が表示される結果が得られます。

しかし、エクスポートすると、最初の列にuser_idが表示されますが、実際にはユーザー名が欲しいのです。

(私のクエリがそれを要求していることがわかります)。ユーザーIDからユーザー名への変換はDiscourseに組み込まれていると推測しますか?ExplorerビューとCSVエクスポートの両方でユーザー名を取得するにはどうすればよいですか?

試してください。

SELECT u.username, ucf.user_id,
       ucf.value,
       ucf.updated_at AS reltime$time
FROM user_custom_fields ucf, users u
WHERE ucf.name = 'user_field_9'
and ucf.user_id=u.id
AND LENGTH(ucf.value) > 1
ORDER BY ucf.updated_at DESC
「いいね!」 3

ありがとうございます!もう少しでした。ユーザーIDを接続する条件に、追加のANDを含めるのを忘れていました。いやはや、私のクエリの腕は鈍ってしまいましたね。

Data Explorerの結果では少し冗長になりますが、CSVエクスポートで正しい値が得られるようになりました。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.