как выполнить подсчет строк с join'ом? в таблице class_p совпадений может быть множество, в моем примере естественно выводится все образно говоря 20 строк и в каждом поле count значение равно 2, мне нужно чтобы выводом была 1 строка со значением в поле count - 20. как этого добиться?
select count(*)
from class_a
left join `class_p`
on `class_a`.id = `class_p`.p_id
where class_a.cat_id=1
and (`caption`,`value`) in (('type','1'), ('type_2','2'))
GROUP BY class_a.id
HAVING COUNT(DISTINCT caption, value) = 2;