@j0ker13

Составить запрос на JOIN. Кто поможет?

Имеется таблица Продукт, Юзер и Архив.
Архив имеет отношение ManytoOne с Продуктом. Архив имеет отношение ManytoOne с Юзером.

Составил запрос чтобы вывести продукты, кроме тех что данный пользователь отметил как архивные:
SELECT * FROM `products` where id not in (select product_id from `archive` where user_id = :user_id);

Как составить запрос на джоинах?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
VladimirAndreev
@VladimirAndreev
php web dev
Вообще, специально для такого случая придумано вот это:

SELECT * FROM `products` where not exists (select product_id from `archive` where user_id = :user_id);


Но, если прямо кушать не можете,
SELECT * FROM `products`
left join `archive` a on user_id = :user_id and p.id=a.product_id
where a.id is null
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы