Парни, привет.
Столкнулся с проблемой, JOIN странно считает количество записей в таблицах.
Задача: нужно посчитать в нескольких таблицах количество записей с нужным id.
Строю запрос, вроде считает, но именно вывод не правильно формирует.
SELECT t.id,t.master_theme, t.theme, COUNT(post.theme_id) as post_theme, COUNT(video.theme_id) as video_theme, COUNT(subscribe_theme.theme_id) as subscribe_theme
FROM `theme` as t
LEFT OUTER join post ON t.id = post.theme_id
LEFT OUTER join video ON t.id = video.theme_id
LEFT OUTER join subscribe_theme ON t.id = subscribe_theme.theme_id
WHERE t.id in (88,14,91,23,79,13,21,24,89,17,65,35,97,82,37,38,85,64,56,90,60,99,16,76)
GROUP BY t.id
Вывод:
Суть в том, что в строке id=35 subscribe_theme по факту имеет только одну запись, а выводит две. ТО есть как будто копирует значение из post_theme.
Еще возникает странность, когда в subscribe_theme реально число строк 2
ТО в общий вывод попадает уже 4: