Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2014, 05:39
leugimsiul
 
Fecha de Ingreso: mayo-2014
Mensajes: 44
Antigüedad: 10 años
Puntos: 10
Pregunta Consulta con NOT IN no devuelve lo que debería

Hola amigos que tal todo, soy nuevo por aquí como veréis, aunque os leo desde hace tiempo. Pues veréis tengo un problemilla en t-sql, soy nuevecillo con él. La cosa es que tengo esta consulta:

Código SQL:
Ver original
  1. SELECT m.CONVERSACION_id ID, m.autor USUARIO, c.asunto ASUNTO, m.textoMensaje MENSAJE, m.fecha FECHA
  2. FROM CONVERSACION c, MENSAJE_PRIVADO m
  3. WHERE m.destinatario = 'pepito' AND
  4. m.id NOT IN(
  5. SELECT mpb.id_MENSAJE FROM MENSAJE_PRIVADO_BORRADO mpb WHERE mpb.usuario =  'pepito'
  6. )  AND
  7. c.id = m.CONVERSACION_id

El problema está cuando la subquery
Código SQL:
Ver original
  1. SELECT mpb.id_MENSAJE FROM MENSAJE_PRIVADO_BORRADO mpb WHERE mpb.usuario =  'pepito'
me devuelve un solo resultado, que no lo tiene en cuenta, si hay dos o más no hay problema, pero cuando solo devuelve uno no hace caso y me lo selecciona.

¿Alguien tiene una idea del porqué? Muchas gracias de antemano y saludos!