У меня есть три таблицы Сообщение: int id, varchar title
Комментарий: int comment_id, int post_id, varchar comment
Нравится: int like_id, int post_id
Здесь post_id - ссылки на внешние ключиtable post .
Я пытаюсь получить все сообщения вместе с количеством комментариев и количеством лайков, сделанных для каждого сообщения.
Вот что у меня естьсделано до сих пор:
SELECT post.id, post.title, count(comment.id) as comments,
FROM post
left join comment on comment.post_id = post.id
GROUP by post.id
Это дает мне результат для всех постов и количество комментариев, сделанных к каждому посту.Теперь, как только я добавлю следующее левое объединение для таблицы лайков, результат подсчета вернется в два раза больше его фактического значения.
Например, если в сообщении X было 2 комментария, и я добавил подобно табличное объединениеподсчет того же поста дает мне 4, как общее количество комментариев к посту X.
Помощь оценена.