Ver Mensaje Individual
  #10 (permalink)  
Antiguo 25/05/2011, 11:19
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: Consulta SQL 3 tablas implicadas

Cuando tienes una relación condicional como esa no puedes usar INNER, debes usar o LEFT o RIGHT.
La cláusula INNER JOIN sólo devuelve si existen coincidencias entre ambas tablas. El hecho de que estés usando LEFT en la siguiente relación es irrelevante, porque para cuando se evalúa esa tabla, la relación de las anteriores ya se realizó y se descartaron los no coincidentes.
Sería mas o menos así:
Código MySQL:
Ver original
  1.     us.`NifDniUsu` ,
  2.     us.`NomUsu`,
  3.     IFNULL(MAX(pre.Fec_presu), '') Fec_presu
  4.     (SELECT * FROM `M_tb_usuarios` WHERE TipUsu =2 ) us
  5.     LEFT JOIN
  6.     M_tb_dat_empresas em ON us.idUsu = em.idUsu
  7.     LEFT JOIN
  8.     M_tb_pre_lopde pre ON em.idEmpre = pre.idEmpre
  9.     TRUE OR em.idUsu IS NULL
  10.     us.`NifDniUsu` , us.`NomUsu`
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)