標題可能看起來不太清楚 - 不知道如何在一行中解釋問題。SQL查詢 - 根據計數條件選擇記錄
我有3個表
TOPIC VIDEO TOPIC_VIDEO
一個主題可以有一個或兩個視頻。這些視頻不是樣本視頻。表中
採樣數據與相關的列名
主題
TOPIC_ID | NAME | COURSE_ID 1 | Excel - Add/Subtract | 1 2 | Excel - sort | 1 3 | Excel - filter | 1 4 | Excel - formulas | 1 VIDEO VIDEO_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 TOPIC_VIDEO_ID | TOPIC_ID | VIDEO_ID | IS_SAMPLE 1 | 1 | 10 | Y 2 | 2 | 12 | N 3 | 3 | 13 | N 4 | 3 | 14 | Y 5 | 4 | 15 | N
所以我試圖做的是對於給定的過程中選擇所有主題和其相應的視頻。現在如果一個主題有多個視頻 - 我想選擇is_sample爲「N」的視頻。
就像上面的例子 - topic_id 3有兩個視頻video_id 13和14 - 所以應該選擇video_id 13。
這是查詢我到目前爲止
select topic.*,count(topic.topic_id),video.video_id,topic_video.is_sample from topic left join topic_video ON topic_video.topic_id = topic.topic_id left join video ON video.video_id = topic_video.video_id where course_id=1 group by topic.topic_id
所以,現在如果計數爲2 - 我想選擇與is_sample =「N」 記錄這是可能的,我怎麼能做到這一點。 非常感謝您的時間來解決這個
多個'SELECT'在單個查詢中的語句是否可以接受? –
會導致相當的性能損失 – Gublooo