Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/08/2013, 20:31
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: 17 años
Puntos: 2658
Respuesta: Problemas con left join

Cita:
quiero obtener los 4 TipoAporte, y si no tiene su correspondencia en la tabla Empleado_TipoAporte que muestre nulo.
Pues es imposible que logres nulos sobre la base de la consulta que propones. Para que se diesen, la consulta debería estar basada (tabla izquierda) en la tabla TipoAporte, y está basada en la de empleados. Es decir que estás exactamente haciéndolo al revés.
Además, en tu consulta estás pidiendo sólo por columnas de la tabla de empleados, por lo que jamás saldrán los nulos, ya que en esas condiciones sólo puede devolver registros existentes, reales. Los nulos no se representan en ese caso.
¿Se entiende?

Para que la consulta devuelva nulos debes: 1) Basarla en la tabla de TiposAporte, y 2) el SELECT debe referirse al menos a una columna de la tabla de tiposAporte.
O sea:
Código MySQL:
Ver original
  1.     ta.TipoAporteId,
  2.     eta.EmpleadoId,
  3.     eta.MontoAporte
  4.     TipoAporte ta LEFT JOIN Empleado_TipoAporte eta ON ta.TipoAporteId = eta.TipoAporteId
  5.     eta.EmpleadoId = 4
  6.     AND eta.RemuneracionId = 4
  7.     OR eta.TipoAporteId IS NULL
  8. ORDER BY eta.TipoAporteId
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)