Ако приемем, че искате нещо повече от идентификатора на статията:
SELECT a.id
,a.other_stuff
FROM articles a
JOIN article_category ac
ON ac.article_id = a.id
GROUP BY a.id
HAVING GROUP_CONCAT(DISTINCT ac.category_id ORDER BY ac.category_id SEPARATOR ',') = '1,2'
Ако всичко, което искате, е идентификационният номер на статията, опитайте това:
SELECT article_id
FROM article_category
GROUP BY article_id
HAVING GROUP_CONCAT(DISTINCT category_id ORDER BY category_id SEPARATOR ',') = '1,2'
Вижте го в действие на адрес http://sqlfiddle.com/#!2/9d213/4
Трябва също да добавим, че предимството на този подход е, че той може да поддържа проверка на произволен брой категории, без да се налага да променяте заявката. Просто направете '1,2' низова променлива и променете това, което се предава в заявката. Така че можете също толкова лесно да търсите статии с категории 1, 2 и 7, като подадете низ от '1,2,7'. Не са необходими допълнителни връзки.