Я пытаюсь найти количество строк для двух таблиц:
Пример 1 возвращает 81 (что неверно).
SELECT p_id FROM j_posts
INNER JOIN j_blogs ON p_blog_id = b_id && b_approved = 1
WHERE p_is_draft = 0
UNION SELECT ep_id FROM j_external_posts
INNER JOIN j_blogs ON ep_blog_id = b_id && b_approved = 1
Затем я попытался разделить запрос на две части:
SELECT ep_id FROM j_external_posts INNER JOIN j_blogs ON ep_blog_id = b_id
&& b_approved = 1
Первая часть запроса возвращает 70, а вторая возвращает 39. Это правильное количество строк.
SELECT p_id FROM j_posts INNER JOIN j_blogs ON p_blog_id = b_id
&& b_approved = 1 WHERE p_is_draft = 0
Что я делаю не так в Примере 1? Он должен вернуть 109 вместо 81.
Заранее спасибо