我有一个像这样的设置:
conversations(id)
notifications(id, conversation_id, user_id)
users(id)
如果对话涉及某人,则user
将链接到conversation
through notification
。
目标:我正在寻找专门针对给定 ID的conversations
问题。 users
显而易见的:
SELECT DISTINCT conversations.*
FROM "conversations"
INNER JOIN "notifications" ON "notifications"."conversation_id" = "conversations"."id"
WHERE notifications.user_id IN (1, 2)
不起作用,因为它还会检索有关以下内容的对话:
- id 为 1、2 和 3 的用户
- id 为 1 和 4 的用户
- id 为 2 和 4 的用户
这是不希望的。