タイトルがはっきりしていないように見えるかもしれません。問題を 1 行で説明する方法がわかりませんでした。
私は3つのテーブルを持っています
トピック ビデオ TOPIC_VIDEO
トピックには、1 つまたは 2 つのビデオを含めることができます。動画はサンプル動画かそうでないかのどちらかです。
関連する列名を持つテーブルのサンプル データ
トピック
トピック ID | 名前 | COURSE_ID 1 | Excel - 加算/減算 | 1 2 | Excel - 並べ替え | 1 3 | Excel - フィルター | 1 4 | Excel - 数式 | 1 ビデオ ビデオ ID | VIDEO_URL 10 | www.youtube.com?v=123 12 | www.youtube.com?v=345 13 | www.youtube.com?v=567 14 | www.youtube.com?v=879 15 | www.youtube.com?v=443 TOPIC_VIDEO トピック_ビデオ_ID | トピック ID | ビデオ ID | IS_SAMPLE 1 | 1 | 10 | よ 2 | 2 | 12 | N 3 | 3 | 13 | N 4 | 3 | 14 | よ 5 | 4 | 15 | N
だから私がやろうとしているのは、特定のコースですべてのトピックとそれに対応するビデオを選択することです。トピックに複数のビデオがある場合、is_sample を「N」としてビデオを選択したいと考えています。
上記の例のように、topic_id 3 には video_id 13 と 14 の 2 つの動画があるため、video_id 13 を選択する必要があります。
これは私がこれまでに持っているクエリです
select topic.*,count(topic.topic_id),video.video_id,topic_video.is_sample トピックから 左 参加 topic_video ON topic_video.topic_id = topic.topic_id ビデオに参加する左 video.video_id = topic_video.video_id ここで course_id=1 topic.topic_id でグループ化
カウントが 2 の場合 - is_sample='N' でレコードを選択したい これは可能ですか?どうすればこれを達成できますか? お時間をいただきありがとうございました