私は2つのテーブルを持っています:
| 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 に対して 2 人のユーザーが共通に持っている会話 ID を選択する必要があります
したがって、この例では:
- user_id 1 と user_id 2 が project_id 1 に対して共通に持っている会話 ID: 1
- user_id 1 と user_id 3 が project_id 1 に対して共通に持つ会話 ID: 2
user_id a、user_id b、project_id を指定して会話 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 = ?)
もちろん、これは複数の行を返しますが、場合によっては異なる会話IDを持つレコードが返されるため、おそらく間違っています...
助けてください!ありがとう!。