@yipuz

Как сделать JOIN по двум условиям для одной колонки?

Здравствуйте. Подскажите, пожалуйста, как сделать JOIN по двум условиям для одной колонки?

Например, есть две таблицы:
TABLE post
id | name

и
TABLE tag
id | post_id | name

с отношением один-ко-многим.

Как выбрать все посты (post) которые содержат теги (tag) с id 1 и (2 или 3 или 4).
Что-то типа этого:
WHERE tag.id = 1 AND tag.id IN (2, 3, 4)
но tag.id не может быть одновременно равен двум значением.

Можно ли это сделать без медленных подзапросов?
  • Вопрос задан
  • 1468 просмотров
Решения вопроса 1
@yipuz Автор вопроса
Ответ найден: Использовать два JOIN'а для одной таблицы.
INNER JOIN tag AS t1 ON t1.post_id = post.id AND t1.post_id = 1
INNER JOIN tag AS t2 ON t2.post_id = post.id AND t2.post_id IN (2, 3, 4)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
27 нояб. 2024, в 20:27
1500 руб./в час
27 нояб. 2024, в 20:20
3000 руб./за проект
27 нояб. 2024, в 19:08
1500 руб./в час