Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/09/2009, 05:08
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: Cosulta SQL dificil :S

El uso de LEFT JOIN en el contexto que lo usas hace que te devuelva toda la tabla de la izquierda, poniendo los valores de la tabla derecha que coinciden, y NULL en donde no se cumple la relación.
Es parte del funcionamiento normal del LEFT JOIN y su simétrico RIGHT JOIN.
Es útil, por ejemplo, cuando quieres encontrar todos aquellos de la tabla izquierda que no tienen coincidencias con la de la derecha:
Código SQL:
Ver original
  1. SELECT A.*
  2. FROM A LEFT JOIN B ON A.id = B.id
  3. WHERE B.nombre IS NULL;
Si vas a recuperar datos de ambas tablas lo que debes hacer es controlar aquellos campos que tengan un posible NULL usando, por ejemplo, la función IFNULL(campo, valor), de modo de poner un resultado alternativo cuando el campo llega en NULL: IFNULL(campo, ''), por ejemplo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)