Hola.
Creo que estas exponiendo una situación en la cuál se aplicaría perfectamente una relación maestro/detalle. Veo dos posibilidades de organizarla, vos verás cuál te conviene para la situación.
Caso 1:
Código:
TABLA1 | TABLA2 | TABLA3
-----------+-----------+-----------
ID | ID | ID
DATO1 | DATO1 | DATO1
... | ... | ...
... | TABLA1_ID | TABLA2_ID
Consulta para TABLA3:
Código SQL
[-]SELECT * FROM TABLA3 WHERE TABLA2_ID = :ID
Consulta para TABLA2:
Código SQL
[-]SELECT * FROM TABLA2 WHERE TABLA1_ID = :ID
Establece la propiedad
DataSource de los componente que uses para las consultas:
Código Delphi
[-]
Query3.DataSource = DataSource2;
Query2.DataSource = DataSource1;
Caso 2:
Código:
TABLA1 | TABLA2 | TABLA3
-----------+-----------+-----------
ID | ID | ID
DATO1 | DATO1 | DATO1
... | ... | ...
... | TABLA1_ID | TABLA1_ID
Consulta para TABLA3:
Código SQL
[-]SELECT * FROM TABLA3 WHERE TABLA1_ID = :ID
Consulta para TABLA2:
Código SQL
[-]SELECT * FROM TABLA2 WHERE TABLA1_ID = :ID
Establece la propiedad
DataSource de los componente que uses para las consultas:
Código Delphi
[-]
Query3.DataSource = DataSource1;
Query2.DataSource = DataSource1;
Saludos.