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

