У меня есть две таблицы:Выберите одну запись на основе результатов нескольких строк
| conversations | | conversation_participants |
------------------- ----------------------------------
| id | project_id | | id | conversation_id | user_id |
------------------- ----------------------------------
1 | 1 1 | 1 | 1
2 | 1 2 | 1 | 2
3 | 2 | 1
4 | 2 | 3
Мне нужно, чтобы выбрать разговор идентификатор, что два пользователя имеют общие для конкретного проекта ID
Таким образом, в этом примере :
- разговор идентификатор, который user_id 1 и user_id 2 имеют в общем для PROJECT_ID 1 является:
- разговор идентификатор, который user_id 1 и user_id 3 имеют в общем для PROJECT_ID 1 является:
Мне нужен запрос, где я могу дать user_id а, user_id б и PROJECT_ID и получить разговор идентификатор взамен ,
Я пытался что-то вроде:
SELECT
c.id
FROM conversations c
JOIN conversation_participants p ON p.conversation_id = c.id
WHERE (p.user_id = ? AND c.project_id = ?)
OR (p.user_id = ? AND c.project_id = ?)
, но это, конечно, возвращает несколько строк и его, вероятно, неправильно, потому что в некоторых случаях это будет возвращать записи с различными идентификаторами разговор ...
оцененная помощь! Благодаря!.