아래의 쿼리는 데이터 탐색기에서는 정상적으로 작동하지만, 이 쿼리를 사용하여 배지를 부여하려고 하면 죄송합니다. 오류가 발생했습니다.라는 오류가 발생합니다. 제가 놓치고 있는 부분이 있을까요? 이 쿼리는 “chapter_” 또는 "meta_chapter_"라는 이름의 그룹의 멤버이면서, 해당 그룹이 기본 그룹으로 지정된 사용자를 일치시켜야 합니다.
SELECT distinct on (u.id)
u.id
FROM users u
INNER JOIN groups g
ON u.primary_group_id = g.id
WHERE g.name LIKE 'chapter_%'
OR g.name LIKE 'meta_chapter_%'
커스텀 트리거된 배지의 경우, 시작과 끝에 한 줄씩 추가해야 합니다. 위쪽 제 게시물에 예시가 있으며, 더 자세한 정보는 Creating triggered custom badge queries 에서 확인하실 수 있습니다. 
고마워요! 좋은 잠을 자고 나면 다시 한번 살펴봐야 할 것 같아요. SQL은 좀 오래되어서 더 많은 예제와 문서를 확인해야 할 것 같습니다. 아래 코드는 작동하지 않는 것 같아요.
SELECT ub.id, ub.granted_at, g.name
from user_badges ub
INNER JOIN groups g
ON ub.id = g.id
WHERE g.name LIKE 'chapter_%'
OR g.name LIKE 'meta_chapter_%'
AND (:backfill OR ub.id IN (:user_ids))
이 에러가 발생하는데, 아마도 잘못된 정보나 이름/컬럼을 전달하고 있는 것 같습니다.
ERROR: column q.user_id does not exist
LINE 11: JOIN users u on u.id = q.user_id
수정: 아 맞다, id가 아니라 어딘가에서 user_id를 사용해야 합니다.
그리고 최종 결과로, 이름이 chapter_ 또는 meta_chapter로 시작하는 그룹에 속해 있을 때 이 배지가 할당됩니다.
SELECT distinct on (gu.user_id)
gu.user_id, gu.updated_at as granted_at
FROM group_users gu
INNER JOIN groups g
ON gu.group_id = g.id
WHERE g.name LIKE 'chapter_%'
OR g.name LIKE 'meta_chapter_%'
AND (:backfill OR gu.id IN (:user_ids))
그리고 이름이 -team으로 끝나는 그룹에 속해 있을 때를 위한 쿼리는 다음과 같습니다.
SELECT distinct on (gu.user_id)
gu.user_id, gu.updated_at as granted_at
FROM group_users gu
INNER JOIN groups g
ON gu.group_id = g.id
WHERE g.name LIKE '%-team'
AND (:backfill OR gu.id IN (:user_ids))