У меня есть база данных, которая содержит project, keyphrase, article, and category
таблиц. Проекты могут иметь несколько ключевых фраз и несколько категорий, как и статьи. Поэтому у меня есть соответствующие таблицы соединений для каждого отношения.
У меня есть запрос, который находит все статьи, в которых есть и ключевая фраза, и категория с указанным c проектом (т.е. 26).
SELECT DISTINCT article.id, article.summary
FROM article, articles_categories, articles_keyphrases
WHERE id = articles_categories.article_id AND id = articles_keyphrases.article_id
AND category_id IN (SELECT category_id FROM projects_categories WHERE project_id = 26)
AND keyphrase_id IN (SELECT keyphrase_id FROM projects_keyphrases WHERE project_id = 26)
Я пытаюсь найти другой способ написать это, чтобы не было никаких подзапросов. С моей стороны это всего лишь учебное упражнение, потому что мне бы очень хотелось увидеть разные подходы к этому запросу.