t
Есть 3 таблицы:
* authors(id, name, ...),
* authors_articles(author_id, article_id),
* articles(id, title, ...)
Т. е. авторы имеют связь многие ко многим со статьями.
Как найти всех авторов у которых есть как минимум две указанных статьи?
Думаю это сделать так: склеить агрегатной функцией array_agg id статей и в having фильтровать записи этим полученным массивом, но что-то мне кажется что-это не очень SQL решение. Какие есть другие решения и где бы о таких ситуациях почитать?
WHERE article_id IN (<указанные статьи>)
GROUP BY author_id
HAVING COUNT(1)>1