Ver Mensaje Individual
  #1  
Antiguo 21-04-2009
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Reputación: 22
Toni Va por buen camino
Problema con joins mismo campo

Hola,

Tengo un problema con una consulta en la que realizo dos joins, y el problema es que solo me devuelve los registros del segundo join. Y el resultado que busco es que me devuelva todos los registros de la tablaA con los datos que coincidan de las otras tablas.

SELECT "TablaA."."Campo1", "TablaB."."Campo1", "TablaC."."Campo1"
FROM "TablaA"
LEFT OUTER JOIN "TablaB" ON (("TablaA"."idDocumento" = "TablaB"."idDocumento") AND ("TablaA"."Flag" = 'B'))
LEFT OUTER JOIN "TablaC" ON (("TablaA"."idDocumento" = "TablaC"."idDocumento") AND ("TablaA"."Flag" = 'C'))

La consulta funciona bien si solo utilizo uno de los joins, creo que lo que da problemas es que utilizo en la condicion los mismo campos de la TablaA.

Estoy utilizando interbase 6.0 y desde C++ Builder 6.0 con componentes IBX.

Saludos.

Nota: Si en las condiciones de los dos joins quito la comparacion "TablaA"."Flag" = 'C', el resultado que da la consulta es casi el deseado. Por lo menos retorna todos lo registros de la TablaA. Lo unico que confunde los documentos de un tipo y de otro.
__________________
__________________
Saludos,

Bitman