user
、、、conversation
およびconversation_participant
行を持つ 3 つのテーブルがあります。
ユーザー
id
会話
id
type
会話参加者
conversation_id
user_id
( type
「プライベート」な 1 対 1 の会話であることを示します。つまり、ユーザー 1 とユーザー 2 の会話が、ユーザー 1、ユーザー 2、ユーザー 3 などのグループ会話から切り離されていることを確認します。タイプ = 0 はプライベート、タイプ = 1グループです。)
いずれにせよ、2 人のユーザー (user_id=1 と user_id=2) の間のプライベートな会話が存在するかどうかを判断するクエリをどのように構築すればよいでしょうか? 私は次のようなことをしたいと思っています (私は SQL に非常に慣れていません)
SELECT conversation_participant.conversation_id FROM conversation_participant WHERE user_id=1
。
このように相互接続された複数のテーブルからのクエリを使用して、このような状況を管理する最も簡潔な方法は何ですか? 私はそれが比較的単純であると思います。あなたが知っているかもしれないこれに関する良い読み物があれば、それらも非常に高く評価されます.
ありがとうございました!