PDA

Ver la Versión Completa : Union de 3 tablas en una Base de Datos Access


jon_g461
08-04-2008, 19:02:55
Buenas a Todos,

Me podrian ayudar a realizar lo siguiente porfavor, tengo una base de datos en access con varias tablas en estas tablas hay 3 que deseo unir para hacer una consulta en un ADOQUERY en delphi 7, la consulta que estoy hacendo es la siguiente:

Código SQL [-] (http://www.clubdelphi.com/foros/#)SELECT FACTURACION.*, COMPROVANTEFISCAL.*, FACTURACIONTRANS.* FROM FACTURACION
INNER JOIN COMPROVANTEFISCAL
ON COMPROVANTEFISCAL.USUARIOID = FACTURACION.USUARIOID
INNER JOIN FACTURACIONTRANS
ON FACTURACIONTRANS.USUARIOID = FACTURACION.USUARIOID
WHERE ((FACTURACION.NOFACTURA= :FACTURAN) AND (COMPROVANTEFISCAL.FACTURAID= :FACTNUMTRANS) AND (FACTURACIONTRANS.NOFACTURA= :FACTNUMTRANS))


Este esta es la consulta que estoy utilizando via ADOQUERY en delphi me funciona conectando dos tablas con el INNER JOINT pero con tres me da un erro me podrian decir si es que le falta algo o estoy haciendo algo mal.

Con Gracias Adelantadas
jon_g461

jon_g461
08-04-2008, 19:04:13
Buenas a Todos,

Me podrian ayudar a realizar lo siguiente porfavor, tengo una base de datos en access con varias tablas en estas tablas hay 3 que deseo unir para hacer una consulta en un ADOQUERY en delphi 7, la consulta que estoy hacendo es la siguiente:


SELECT FACTURACION.*, COMPROVANTEFISCAL.*, FACTURACIONTRANS.* FROM FACTURACION
INNER JOIN COMPROVANTEFISCAL
ON COMPROVANTEFISCAL.USUARIOID = FACTURACION.USUARIOID
INNER JOIN FACTURACIONTRANS
ON FACTURACIONTRANS.USUARIOID = FACTURACION.USUARIOID
WHERE ((FACTURACION.NOFACTURA= :FACTURAN) AND (COMPROVANTEFISCAL.FACTURAID= :FACTNUMTRANS) AND (FACTURACIONTRANS.NOFACTURA= :FACTNUMTRANS))


Este esta es la consulta que estoy utilizando via ADOQUERY en delphi me funciona conectando dos tablas con el INNER JOINT pero con tres me da un erro me podrian decir si es que le falta algo o estoy haciendo algo mal.

Con Gracias Adelantadas
jon_g461
http://www.clubdelphi.com/foros/images/misc/progress.gif

luisgutierrezb
08-04-2008, 19:42:06
el problema es que en access para el inner join hay que usar parentesis, genera la consulta en el generador de consultas del access... no te digo porque no me acuerdo son parentesis algo raros...

jon_g461
08-04-2008, 20:30:31
gracias por la informacion