Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2011, 14:02
adriannjimenez
 
Fecha de Ingreso: mayo-2007
Ubicación: Córdoba, Argentina
Mensajes: 56
Antigüedad: 17 años, 9 meses
Puntos: 1
Problema de lógica

Hola. Tengo un problema con una consulta y que debe estar en la lógica.

Tengo dos tablas que tienen los datos de rasgos morfológicos:

Una con los grupos morfológicos (CFG_GRUPOS_MORFOLOGIAS) con un ID y una descripcion.

Otra tabla con los tipos que corresponden a esos grupos (CFG_RAZGOS_MORFOLOGICOS) con un ID, un ID del grupo al que pertenecen y una descripcion.

Así un rasgo se forma con un grupo y un rasgo; por ejemplo: PIERNA IZQUIERDA / COMBADA.

El tema es que tengo que hacer un filtro como el siguiente:

Código:
select rm.id_grupo_morfologia, rm.id_razgo_morfologico, gm.desc_grupo_morfologia, rm.desc_razgo_morfologico 
from CFG_GRUPOS_MORFOLOGIAS gm
inner join CFG_RAZGOS_MORFOLOGICOS rm on gm.id_grupo_morfologia=rm.id_grupo_morfologia
where 1 = 1
and upper(gm.desc_grupo_morfologia) like upper('%pierna-izq%')
donde saco todas los rasgos con la pierna izquierda.

El tema es que tambien quiero que me filtre algunos rasgos de ese subgrupo; por ejemplo que no aparezca la pierna izquierda(id=40) combada(id=2).

He probado agregar al final

Código:
and rm.id_grupo_morfologia<>40 and rm.id_razgo_morfologico <> 2
con lo que me sacaba TODOS los registros con id 40 y yo solo quiero sacar del 40 el que tenga rasgo 2.

Si alguien me da una mano estaré a la espera.

Un abrazo

Adrian