Data Explorer 쿼리 - 내보내기 시 추가 매개변수 추가

“Users_Who_Replied_To_A_Topic” 목록에 사용자의 이름(NAME)도 포함되도록 하고 싶습니다.

다른 스레드에서 확인한 관례에 따라 Data Explorer 쿼리에 추가 정보를 포함하는 방법을 시도해 보았지만, 동일한 구문을 적용했을 때는 작동하지 않았습니다.

현재 실행 중인 쿼리는 해당 주제에 답글을 남긴 사용자의 "username"만 반환합니다…

-- 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 뒤에 추가하세요.

빠르게 도와줘서 고마워, 제이! 제안을 반영해서 아래처럼 수정했어:

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: