SQL-запрос для поиска пользователей, у которых нет подписки на указанный список (многие ко многим) - PullRequest
1 голос
/ 01 декабря 2009

Наличие двух таблиц «пользователи» и «списки» и таблицы «многие-ко-многим» подписок, связывающих пользователей со списками (таким образом, имеющих внешние ключи user_id и list_id), что будет одним SQL запросить поиск всех пользователей, у которых нет подписок с определенной list_id (естественно, включая пользователей, у которых вообще нет подписок)?

1 Ответ

2 голосов
/ 02 декабря 2009

Время вспыхнуть not exists снова:

select
  u.user_id
from
  users u
where
  not exists (
    select 1 from subscriptions s where s.user_id = u.user_id and s.list_id = N
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...