mySQL データベースに and テーブルがありcomments
ます。friends
comments
表には次の列が含まれます。
member_id, comment_id, comment, video_id
friends
テーブルには、次の列が含まれています。
member_id, member_id_friend
特定のビデオ ID で友達からのすべてのコメントを選択するクエリはありますか?
ありがとうございました!
友達のようにテーブルを作成すると、「結合テーブル」と呼ばれます。これらは、アイテム間の多対多の関係に使用されます。特定のスキーマの設定方法では、フレンド テーブルは、メンバーと他のメンバー (そのフレンド) 間の多対多の関係を実装する結合テーブルであるため、「自己結合テーブル」と呼ぶ人もいます。
このようなテーブルは、テーブルから関連データを取得する方法がテーブルを他のテーブルに「結合」することであるため、結合テーブルと呼ばれます。これは、それら自体には、話すための実際のデータが含まれていないためです。
多対多の関係で個人に関連付けられたコレクションを取得しようとしている場合は、通常、1 つのテーブルからの結果を結合テーブルに一致するレコードに制限する「内部結合」を使用します。この場合、次のようになります。
select * from comments c
inner join friends f on c.member_id = f.member_id
where f.member_id_friend = [current user ID]
and c.video_id = [desired video ID]
それがどのように機能するかをお知らせください。
select comment
from comments
join friends (on comments.member_id = friends.member_id)
where member_id_friend = <id number> & video_id = <video id>;