2016-05-21 11 views
1

I持って、私は、クエリが特定のCATEGORY_IDを持っているビデオテーブルから一度すべてのビデオを取得したいと思いこれらのリレーショナルテーブルとMySQLのクエリを実行する方法

videos 

id | title | url 


video_to_category 

video_id | category_id 

次の表

+1

マッピングとは何ですか? "video_id = id"ですか?もっと多くの情報が必要です! –

+0

はい、それはありがとうございます。あなたの答えはありがとう、私は私のための最も簡単なものを選んだ。 – user3808307

答えて

1
SELECT * FROM videos v, video_to_category vc 
WHERE v.id=vc.video_id AND category_id=YOURID 
1

あなたは、内側が

select a.* 
from videos as a 
inner join video_to_category as b on a.id = b.video_id 
and b.category_id = 'Your_value'; 
1
SELECT * FROM `videos` AS `v`,`video_to_category` AS `vtc` 
WHERE `v`.`id`=`vtc`.`video_id` 
AND `vtc`.`category_id`='YOUR CHOICE' 
に参加使用することができますあなたのテーブルを分析することにより10

OR

SELECT * FROM `videos` `v` INNER JOIN `video_to_category` `vtc` 
ON `v`.`id`=`vtc`.`video_id` 
AND `vtc`.`category_id`='YOUR CHOICE' 

Example

+0

こんにちは、あなたは、どのような違いを教えてくれますか? – user3808307

+0

私の編集した回答の例を確認してください。結果は両方のクエリで同じになります。 @ user3808307 –

+0

ありがとう、ピーター、私は見てみましょう。誰もがいつもここで常にとても役に立ちます – user3808307

1
select videos.* from videos 
inner join video_to_category 
on video_to_category.video_id = videos.id 
and video_to_category.category_id = 10 

そうである、あなたが別の列に保存する必要がない場合は、あなたのコラムvideo_to_categoryは、唯一の2列を持っているものと思われます、動画のテーブル名 'category_id'に新しい列を追加できますが、この質問に他の列が表示されていない場合はそのままにしてください。

+0

ビデオには多くのカテゴリがありますので、それらはそのテーブルに複数回表示されます。 – user3808307

1
select vi.id, vi.title, vi.url from videos vi left join video_to_category 
vc on (vi.id = vc.video_id) where vc.category_id = '$category_id' 

$ category_idは、指定した変数idを置く変数です。私はここでPHPを使用する "$"を使用する。

ありがとうございました

関連する問題