Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2012, 08:30
nh2006
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 17 años, 4 meses
Puntos: 3
obtener datos que no están en optra tabla

Hola amigos,

Tengo problemas con un select que debe obtener los registros que no están en otra tabla de la unión de 3.

Les dejo un esquema para explicarme mejor:

Tabla: Criterios (criterio)
Código HTML:
Ver original
  1. orden
  2. presentacion
  3. seguridad
  4. claridad
  5. eficiencia

Tabla: Secciones (id_seccion,seccion)
Código HTML:
Ver original
  1. 1 Analisis
  2. 2 Diseño
  3. 3 Arquitentura

Tabla: Secciones_criterios (id_seccion,criterio,calificacion)
Código HTML:
Ver original
  1. 1   orden                  10
  2.     1   presentacion       10
  3.     1   seguridad            10
  4.     1   claridad                10
  5.     1   eficiencia              10
  6.     2   orden                    9
  7.     2   presentacion        10
  8.     2   seguridad            10
  9.     2   claridad                10
  10.     2   eficiencia              10
  11.     3   orden                    9
  12.     3   presentacion         8
  13.     3   seguridad              7
  14.     3   claridad                 8



La idea es obtener un registro de la tabla Secciones junto con todos los criterios que no reúna

Mi consulta lo tengo así

Código MySQL:
Ver original
  1. select * from Secciones
  2. inner join Secciones_criterios on Secciones.id_seccion=Secciones_criterios.id_seccion
  3. where Secciones_criterios.criterio not in (select criterio from Criterios) and Secciones.id_seccion=3


Esta consulta debería devolver de la tabla secciones el registro (3 Arquitectura) junto con el criterio Eficiencia que el que no está en la tabla Secciones_criterios.

Me pueden hacer el favor de indicarme dónde puede estar mi error?

Gracias desde ya