0

mySQL データベースに and テーブルがありcommentsます。friends

comments表には次の列が含まれます。

member_id, comment_id, comment, video_id

friendsテーブルには、次の列が含まれています。

member_id, member_id_friend

特定のビデオ ID で友達からのすべてのコメントを選択するクエリはありますか?

ありがとうございました!

4

2 に答える 2

1

友達のようにテーブルを作成すると、「結合テーブル」と呼ばれます。これらは、アイテム間の多対多の関係に使用されます。特定のスキーマの設定方法では、フレンド テーブルは、メンバーと他のメンバー (そのフレンド) 間の多対多の関係を実装する結合テーブルであるため、「自己結合テーブル」と呼ぶ人もいます。

このようなテーブルは、テーブルから関連データを取得する方法がテーブルを他のテーブルに「結合」することであるため、結合テーブルと呼ばれます。これは、それら自体には、話すための実際のデータが含まれていないためです。

多対多の関係で個人に関連付けられたコレクションを取得しようとしている場合は、通常、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]

それがどのように機能するかをお知らせください。

于 2012-04-24T19:17:36.397 に答える
0
select comment 
from comments 
join friends (on comments.member_id = friends.member_id) 
where member_id_friend = <id number> & video_id = <video id>;
于 2012-04-24T19:14:01.343 に答える