
09/04/2009, 02:18
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años Puntos: 300 | |
Respuesta: Ayuda con el Left Join No creo que tengas necesidad de traerte todo: pues ese asterisco se trae todos los campos de las tres tablas, y uno de ellos al menos lo tendrás en las tres. De todas formas, es ese asterisco el que te impide usar los alias que necesitas, pues al hacer el cruce con el mismo nombre en tres campos y seleccionando todo con el asterisco el programa no sabe qué devolverte.
En cuanto a lo segundo:
claro que sí,
SELECT fc.NOCCLI, fc.CODCLI, fa.PRO1, fcl.MAILCLI FROM F_CLI fc LEFT JOIN F_AMB fa USING (CODCLI) LEFT JOIN F_CLIAMP fcl USING (CODCLI) WHERE tabla.nombrecampo IS NULL
SELECT fc.NOCCLI, fc.CODCLI, fa.PRO1, fcl.MAILCLI FROM F_CLI fc LEFT JOIN F_AMB fa USING (CODCLI) LEFT JOIN F_CLIAMP fcl USING (CODCLI) WHERE tabla.nombrecampo IS NULL OR tabla.nombreotrocampo IS NULL
Pero si quieres excluir todos los null estás haciendo realmente un inner join como el primero. Otra cosa, puedes usar IFNULL() para poner un mensaje cuando el campo tenga null. Mira cómo funciona por si es de tu interés.
Dinos qué datos quieres evitar (de qué tabla, bajo qué criterio) y te ayudaremos a preparar la consulta, pues, como puedes imaginar, podrías utilizar left join en un cruce e inner join en otro, pero eso depende de lo que quieras sacar. |