Data Explorer 쿼리 CSV 내보내기에서 user_id가 보고되지만 결과에는 사용자 이름이 표시됨

경험이 부족한 쿼리 작성자(나)의 문제일 가능성이 높습니다. 커스텀 필드에 텍스트를 입력한 모든 사용자를 보고하기 위해 Data Explorer 쿼리를 실행하고 있습니다(사용자에게 Fediverse 사용자 이름을 요청합니다):

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

감사합니다! 거의 다 됐는데, 사용자 ID를 연결하기 위한 조건에 추가 AND를 넣는 걸 깜빡했네요. 와, 제 쿼리 실력이 좀 녹슬었나 봅니다.

데이터 탐색기 결과에서는 약간 중복이 생기는 것 같지만, 이제 CSV 내보내기에서 올바른 값이 표시됩니다.