SQL запрос с WHERE .. NOT IN

Здравствуйте!

Для понимания проблемы проведем аналогию с магазином.
Имеются товары со своим id. Просмотрев товар его id добавляется в соответствующую ячейку таблицы пользователя. При дальнейшем просмотре списка товаров, уже просмотренные исключаются с помощью NOT IN(...). Как быть если просмотрено тысячи товаров?

Спасибо.
  • Вопрос задан
  • 2761 просмотр
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Правильно организовать базу. Завести отдельную таблицу с полями `user_id` и `goods_id`, заносить в неё запись при просмотре товара, использовать INNER JOIN при выборке.
Ответ написан
Sander_Li
@Sander_Li
Backend developer
SELECT `p`.`name` FROM `products` as `p`
LEFT JOIN `user_looks` as `ul` ON `ul`.`product_id` = `p`.`id`
WHERE `ul`.`product_id` is null
Ответ написан
Ваш ответ на вопрос

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

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