El título puede no parecer muy claro, no estaba seguro de cómo explicar el problema en una línea.Consulta SQL: selección de registros según la condición de conteo
tengo 3 mesas
TOPIC VIDEO TOPIC_VIDEO
Un tema puede tener uno o dos videos. Los videos son videos de muestra o no.
datos de la muestra en las tablas con nombres de las columnas relevantes
TEMA
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
Así que lo que estoy tratando de hacer es para un curso determinado seleccionar todos los temas y sus correspondientes vídeos. Ahora, si un tema tiene más de un video, quiero seleccionar el video con is_sample como "N".
Como en el ejemplo anterior - topic_id 3 tiene dos videos con video_id 13 y 14 - por lo que se debe seleccionar video_id 13.
Esta es la pregunta que tengo hasta ahora
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
Así que ahora si el recuento es 2 - Quiero seleccionar el registro con is_sample = 'N' Es esto posible y cómo puedo lograr esto. Muchas gracias por su tiempo
son múltiples 'SELECT' declaraciones en una sola consulta ¿aceptable? –
daría lugar a un rendimiento considerable golpeó – Gublooo