Задать вопрос
@noob-sql

Как отфильтровать данные одной таблицы, используя данные другой таблицы?

photos:
[id, user_id, (...url)]
|1, 1| - фотография #1, принадлежащая #1 пользователю
|2, 4| - фотография #2, принадлежащая #4 пользователю
|3, 2| - фотография #3, принадлежащая #2 пользователю
|4, 3| - фотография #4, принадлежащая #3 пользователю
|5, 5| - фотография #5, принадлежащая #5 пользователю

viewed:
[id, user_id, photo_id]
|1, 2, 4| - #2 пользователь посмотрел фотографию #4, принадлежащую #3 пользователю
|2, 3, 2| - #3 пользователь посмотрел фотографию #2, принадлежащую #4 пользователю
|2, 3, 5| - #3 пользователь посмотрел фотографию #5, принадлежащую #5 пользователю

Как среди этих данных получить только те фотографии, которые НЕ смотрел #3 пользователь? А так же попробовать отфильтровать фотки самого юзера #3, то есть фотка #4 (mysql)
То есть:
result:
[id, user_id, (...url)]
|1, 1| - фотография #1, принадлежащая #1 пользователю
|3, 2| - фотография #3, принадлежащая #2 пользователю

Как понимаю, нужно как-то тыкать join'ы, но у меня всё ещё никак это не может нормально связаться в голове. Хотелось бы посмотреть решение знающих людей. Спасибо.
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
WHERE ... IN (SELECT ...)
WHERE ... NOT IN (SELECT ...)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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