Продолжаем обсуждение из темы Какие крутые запросы для бейджей вы придумали?:
Я пытаюсь разобраться со следующим. Мне нужно, чтобы приведённый ниже SQL-запрос работал в рамках одного ID категории:
SELECT id user_id, current_timestamp granted_at
FROM users
WHERE id IN (
SELECT p1.user_id
FROM post_custom_fields pc
JOIN badge_posts p1 ON p1.id = pc.post_id
JOIN topics t1 ON p1.topic_id = t1.id
WHERE p1.user_id <> t1.user_id AND
name = 'is_accepted_answer' AND
p1.user_id IN (
SELECT user_id
FROM posts
WHERE :backfill OR p1.id IN (:post_ids)
)
GROUP BY p1.user_id
HAVING COUNT(*) > 9
)
Сейчас он проверяет весь форум, но я хочу объединить его с запросом вроде этого:
SELECT DISTINCT ON (t.user_id) t.user_id, t.created_at granted_at
FROM topics t
WHERE t.category_id = 28
Есть какие-нибудь предложения? Извините, я давно не работал с SQL.