@rumpel144

Написать sql запрос, две таблицы, INNER JOIN?

У меня есть таблица users с полями id и login
И таблица comments (Комментарии о пользователе)
id_user1, ud_user2, comment, comment_type.
id_user2 в этой таблице это пользователь, о котором оставили комментарий.
comments имеет столбец comment_type = 0 или 1.
Мне надо вывести каждого пользователя и количество положительных и отрицательных комментариев. т.е количество где comment_type = 0 и количество где comment_type=1

Я думал, что это как то так, но не работает
SELECT users.id, users.login, COUNT(c.id_user2) as negative, COUNT(c1.id_user2) as positive
 FROM users 
 INNER JOIN comments c on users.id=c.id_user2 WHERE c.commentype=0 
 INNER JOIN comments c1 ON users.id = c1.id_user2 WHERE c1.commentype=1
 GROUP BY users.id, users.login
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@MiMitin
Вот как вариант
select u.login, (select count(*) from comments c where u.id=c.id_user1 and c.comment_type=0) one, 
(select count(*) from comments c where u.id=c.id_user1 and c.comment_type=1) two
from users u
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы