У меня есть таблица подписных записей для людей, подписавшихся на группы. Есть столбец groupid и столбец userid (в дополнение к идентификатору первичного ключа). Я хочу найти все строки подписки людей, подписавшихся на группу 1, у которых также нет записи подписки для группы 2. Я думал, что могу использовать шаблон анти-объединения, но я не могу заставить его работать. Я пробовал:Postgres - Left Join, та же таблица
SELECT
*
FROM subs s1
LEFT JOIN subs s2 ON s1.groupid=1 AND s2.groupid=2 AND s1.userid=s2.userid
WHERE s2.id IS NULL;
Но это не работает (он возвращает подписные записи с группами, которые не являются 1).