标题可能看起来不太清楚 - 不知道如何在一行中解释问题。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