Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   inner join (https://www.clubdelphi.com/foros/showthread.php?t=33965)

Juan Carlos 21-07-2006 18:21:27

inner join
 
hola, antes que nada un saludo.

estoy tratando de hacer un inner join con dos consultas, pero me marca error:confused:

estas son los dos consultas que quiero unir con el inner join:
consulta 1
Código SQL [-]
SELECT AC.ID_ACTA, CTLG_ONO.DESCR FROM ((ACTAS AS AC INNER JOIN ACTAS_ON ON AC.ID_ACTA = ACTAS_ON.ID_ACTA) INNER JOIN CTLG_ONO ON ACTAS_ON.ID_ONOMAST = CTLG_ONO.ID_ONOMAST) INNER JOIN CTLG_LUG ON AC.ID_LUGAR = CTLG_LUG.ID_LUGAR WHERE CTLG_ONO.DESCR="Aaron, Segismundo"

consulta 2
Código SQL [-]
SELECT A.ID_ACTA, A.FECHA, A.FOLIOF, A.LUGAR, A.RESUMEN, CTLG_LUG.DESCR FROM ((ACTAS  AS A INNER JOIN ACTAS_GE ON A.ID_ACTA = ACTAS_GE.ID_ACTA) INNER JOIN CTLG_GEO ON ACTAS_GE.ID_GEOGRAF = CTLG_GEO.ID_GEOGRAF) INNER JOIN CTLG_LUG ON A.ID_LUGAR = CTLG_LUG.ID_LUGAR WHERE (((CTLG_GEO.DESCR)="Acajete,Pueblo de" Or (CTLG_GEO.DESCR)="Zarate, Cristobal de"))


el inner join como lo estoy haciendo es de la siguiente manera

Código SQL [-]
SELECT * FROM

(SELECT AC.ID_ACTA, CTLG_ONO.DESCR FROM ((ACTAS AS AC INNER JOIN ACTAS_ON ON AC.ID_ACTA = ACTAS_ON.ID_ACTA) INNER JOIN CTLG_ONO ON ACTAS_ON.ID_ONOMAST = CTLG_ONO.ID_ONOMAST) INNER JOIN CTLG_LUG ON AC.ID_LUGAR = CTLG_LUG.ID_LUGAR WHERE CTLG_ONO.DESCR="Aaron, Segismundo")  

INNER JOIN 

(SELECT A.ID_ACTA, A.FECHA, A.FOLIOF, A.LUGAR, A.RESUMEN, CTLG_LUG.DESCR FROM ((ACTAS  AS A INNER JOIN ACTAS_GE ON A.ID_ACTA = ACTAS_GE.ID_ACTA) INNER JOIN CTLG_GEO ON ACTAS_GE.ID_GEOGRAF = CTLG_GEO.ID_GEOGRAF) INNER JOIN CTLG_LUG ON A.ID_LUGAR = CTLG_LUG.ID_LUGAR WHERE (((CTLG_GEO.DESCR)="Acajete,Pueblo de" Or (CTLG_GEO.DESCR)="Zarate, Cristobal de")))  

ON AC.ID_ACTA = A.ID_ACTA

AL momento de ejecutar la consulta me marca error de sintaxis en el inner join. estoy usando MS access.

espero que alguien me pueda ayudar, gracias de antemano

JulioGO 21-07-2006 19:55:51

Prueba con esto
Código:


Código SQL [-]SELECT * FROM



(SELECT AC.ID_ACTA, null FECHA, null FOLIOF, null LUGAR, null RESUMEN, CTLG_ONO.DESCR FROM ((ACTAS AS AC INNER JOIN ACTAS_ON ON AC.ID_ACTA = ACTAS_ON.ID_ACTA) INNER JOIN CTLG_ONO ON ACTAS_ON.ID_ONOMAST = CTLG_ONO.ID_ONOMAST) INNER JOIN CTLG_LUG ON AC.ID_LUGAR = CTLG_LUG.ID_LUGAR WHERE CTLG_ONO.DESCR="Aaron, Segismundo")



UNION ALL



(SELECT A.ID_ACTA, A.FECHA, A.FOLIOF, A.LUGAR, A.RESUMEN, CTLG_LUG.DESCR FROM ((ACTAS AS A INNER JOIN ACTAS_GE ON A.ID_ACTA = ACTAS_GE.ID_ACTA) INNER JOIN CTLG_GEO ON ACTAS_GE.ID_GEOGRAF = CTLG_GEO.ID_GEOGRAF) INNER JOIN CTLG_LUG ON A.ID_LUGAR = CTLG_LUG.ID_LUGAR WHERE (((CTLG_GEO.DESCR)="Acajete,Pueblo de" Or (CTLG_GEO.DESCR)="Zarate, Cristobal de")))



ON AC.ID_ACTA = A.ID_ACTA


Juan Carlos 21-07-2006 20:25:08

ok, gracias, ya lo he probado y funciona


La franja horaria es GMT +2. Ahora son las 07:08:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi