Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по SQL

Оксана Голыжбина Ученик (107), на голосовании 1 год назад
Отобразите заголовки постов, которые были написаны пользователями, получившими более 1000 значков. Посты без заголовков не должны попасть в список.

Что не так с кодом?

WITH
a AS (
select id,
user_id,
count(id)
from badges
group by 1,2
having id>1000
)
SELECT p.title
FROM users AS u
JOIN posts As p ON u.id =p.user_id
JOIN a ON u.id =a.user_id
WHERE p.title IS NOT NULL

USERS
id -Идентификатор пользователя, первичный ключ таблицы
creation_date -Дата регистрации пользователя
display_name -Имя пользователя

POSTS
id -Идентификатор поста, первичный ключ таблицы
title - Заголовок поста
creation_date -Дата создания поста

BADGES
id -Идентификатор значка, первичный ключ таблицы
name -Название значка
user_id -Идентификатор пользователя, которому присвоили значок, внешний ключ,
отсылающий к таблице users
creation_date - Дата присвоения значка
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445791) 2 года назад
Примерно так:

SELECT P.TITLE, COUNT(*)
FROM POSTS P
INNER JOIN BADGES B
ON P.USER_ID=B.USER_ID
WHERE P.TITLE IS NOT NULL
GROUP BY P.TITLE
HAVING COUNT(*)>1000
Похожие вопросы