Ver Mensaje Individual
  #7 (permalink)  
Antiguo 26/06/2010, 21:28
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: Novato con LEFT JOIN

Cita:
ahora si quiero que la consulta me retorne los usuarios de la empresa 3 que no estan asignados a una auditoria especifica por ejemplo la 10
SI te fijas en tu penúltimo post, las condiciones que propones son excluyentes si pones un AND en el WHERE, por lo que esto:
Código MySQL:
Ver original
  1.    U.cod_usu,
  2.    U.nombre
  3.    usuarios U LEFT JOIN usuario_auditoria UA on U.cod_usu = UA.cod_usu
  4.    U.cod_empresa=3 AND UA.Num_aud != 10;
forzosamente debe darte vacío, ya que la auditoria de la empresa 3, es precisamente la 10... la que estás eliminando. Y no sirve poner "=" en este ejemplo, porque te estarías refiriendo a la misma auditoría...

La solución es mas o menos sencilla: Necesitas que se cumpla una de dos condiciones: Que la empresa sea la 3, o bien que la auditoría sea diferente de 10. Y un "o bien", es un OR:
Código MySQL:
Ver original
  1.    U.cod_usu,
  2.    U.nombre
  3.    usuarios U LEFT JOIN usuario_auditoria UA on U.cod_usu = UA.cod_usu
  4.    U.cod_empresa=3 OR UA.Num_aud != 10;

El ejemplo, en definitiva no tiene mucho sentido, porque si pones los que trabajan en una auditoría para una empresa, y además el resto... ¿para qué haces la distinción?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 26/06/2010 a las 21:35