Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2016, 14:05
jmm87
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 11 años, 8 meses
Puntos: 0
consultas anidadas

Hola muy buenos dias. Estoy un poco enroscando en una consulta que me parece que se puede resolver mas sencilla pero no encuentro la manera

Les adjunto mi diadrama:


Mi sql:

Código SQL:
Ver original
  1. SELECT DISTINCT M.ID_MODULO,
  2.                                        M.ID_CURSO,
  3.                                        M.MODULO_NUMERACION,
  4.                                        M.MODULO_TITULO,
  5.                                        M.MODULO_DESCRIPCION_CORTA
  6.                                   FROM modulo M
  7.                        
  8.                         INNER JOIN (SELECT DISTINCT ID_MODULO,
  9.                                                     ID_ACTIVIDAD
  10.                                                FROM actividad) A ON M.ID_MODULO = A.ID_MODULO
  11.                        
  12.                         LEFT JOIN resolucion_actividad ra ON A.ID_ACTIVIDAD = ra.ID_ACTIVIDAD
  13.  
  14.                         WHERE 1=1
  15.                        
  16.                         AND M.ID_CURSO = $id_curso
  17.                         AND M.ID_MODULO NOT IN (SELECT DISTINCT M.ID_MODULO
  18.                         FROM modulo M
  19.                         INNER JOIN (SELECT DISTINCT ID_MODULO, ID_ACTIVIDAD FROM actividad) A ON M.ID_MODULO = A.ID_MODULO
  20.                         LEFT JOIN resolucion_actividad ra ON A.ID_ACTIVIDAD = ra.ID_ACTIVIDAD
  21.                        
  22.                         WHERE 1=1
  23.                        
  24.                         AND M.ID_CURSO = $id_curso
  25.  
  26.                         AND ra.ID_RESOLUCION_ACTIVIDAD IS NOT NULL)

Lo que necesito es. Mostrar los modulos (de un determinado cliente) que sus actividades no tienen resolucion. Si tiene alguna resolucion, lo oculta

Si alguien me puede ayudar me haria un favor. Aclaro que esto esta funcionando bien pero se me hizo una consulta enorme para un dato bastante sencillo. Capaz algun encuentra una mejor solucion

Última edición por gnzsoloyo; 19/12/2016 a las 12:49