Una pequeñísima aportación adicional a esta excelente explicación, seria que
se debe considerar que los campos resultantes del archivo de la derecha en
caso de no existir una coincidencia, tienen como resultado un valor NULL, el
cual debe monitoriarse dependiendo de la aplicación. (O bien utilisar la
funcion IFNULL). EJEMPLO:

 

SELECT A.CAMPO1, A.CAMPO2, IFNULL(B.CAMPOA,’ ‘), IFNULL(B.CAMPOC,0) FROM
ARCHIVO1 A LEFT JOIN ARCHIVO2 B ON A.CAMPOLLAVE = B.CAMPOLLAVE

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Nicolas Silva
Sent: Martes, 17 de Junio de 2008 09:46 a.m.
To: forum.help400
Subject: Re: JOIN

 

Hola:

Cuando se utiliza LEFT JOIN O RIGHT JOIN los campos que se toman en cuenta
de una tabla u otra son los de la clausula de union propiamente dicha.

En el ejemplo que paso Andreu

select * from biblioteca1/tabla1 LEFT OUTER JOIN biblioteca2/tabla2 on
tabla1.campo3=tabla2.campo4 and tabla1.campo5=tabla2.campo6

la sentencia indica todos los campos de la tabla1 y tabla2 unidos por campo3
- campo4 tomando los que tengan datos en campo3 y luego campo5 - campo6
tomando los que tengan datos en campo5.

Esto se da de esa forma porque se utiliza LEFT es decir la tabla que pusimos
a la izquierda en la sentencia es la que manda.

Espero sirva de ayuda el comentario

Saludos para todos...



__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a