Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/07/2011, 05:20
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: uso is null, not null, exists, not exists

Cita:
Yo quiero obtener todos los registros de la tabla "tabla1" donde el valor del campo statusCode sea igual a SCH o tenga valor nulo. Supongamos que los estados posibles son e1,e2,SCH.
Por lo pronto, para responder lo que pides en la primera oración, el que existan los valores "e1" y "e2" es completamente irrelevante, porque no es eso lo que estás buscando. Lo que quieres tiene sólo dos condiciones: Ser igual a "SCH" o ser nulo.
Incluso, ni siquiera necesitas usar LIKE, porque estás pidiendo por una igualdad, y no por una aproximación.
La consulta debería ser así:
Código MySQL:
Ver original
  1. FROM tabla1 a
  2. WHERE a.statusCode = 'SCH' OR a.statusCode IS NULL;

IN y NOT IN no es que traigan valores nulos. Lo que hacen es traer todo lo que no coincida con las condiciones que se ponen, pero no necesariamente nulos. Bien pueden traer vacíos (vacío y NULL son cosas diferentes), y eso no es lo que pides.
La efectividad de esas cláusulas dependerá, entonces, de lo precisas que sean las condiciones pedidas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)