Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Relacionar dos tablas con otra tabla sin campos iguales (https://www.clubdelphi.com/foros/showthread.php?t=67392)

sisne 14-04-2010 22:23:45

Relacionar dos tablas con otra tabla sin campos iguales
 
Hola!
Quisiera por favor, saber como hacer lo siguiente:
Tengo los siguientes datos:
AdoQueryEstudiante<--Donde almaceno los datos de los estudiantes (IdE,CiE,NomE,ApePE.....)
AdoTableBeca<--Donde almaceno las becas que recibe un estudiante (IdB,IdE,Fecha,TotalRecibido,...)
//AdoTableBeca esta relacionado con AdoQueryEstudiante por medio de su MasterSource, MasterFields por medio del campo IdE. Osea al momento de introducir el total recibido de beca, pues con solo seleccionar el IdE del ADOQueryEstudiante, pasa automanticamente el IdE al ADOTableBeca...etc

Esto hice en mi Analizador de consultas y obtengo los resultados que quiero, es decir la sumatoria de todos los montos recibidos por cada estudiante.

Código SQL [-]
Select i.CiE,i.NomE,i.ApePE,i.ApeME,i.SexoE,i.FinscripcionE,i.CarreraE,i.DeptoE,i.CalleE,sum(TotalRecibido) as Monto
From BDinscripcion i INNER JOIN BDbeca b ON i.IdE=b.IdE
Group by CiE,NomE,ApePE,ApeME,SexoE,FinscripcionE,CarreraE,DeptoE,CalleE
Esta consulta lo puse en otro Form2, con otro ADOQuery2, y lo puse en la seccion de Propiedades (String) en Delphi, y me muestra los resultados en el Form en los DBEdits, correcto...

Lo que quiero ahora es como puedo relacionar con OTRA tabla (ADOTableDevolucion) con este ADOQUERY2???
Cuando ahi ya no tengo IDE la llave en el ADOQUERY2..ya que no me permite seleccionar por:
Código SQL [-]
From BDinscripcion i INNER JOIN BDbeca b ON i.IdE=b.IdE
pues ya estoy comparando.

En el ADOTableDevolucion (IdD,IdE,Fecha,MontoAcumulado,MontoADevolver, SaldoActual).

Alguien puede ayudarme?

manuc 24-04-2010 08:50:18

Hola sisne,

Si no entendí mal, estas sacando un listado de estudiantes con un sumatorio de la beca recibida.

Si necesitas tener el ID del estudiante (IdE), pues añádelo a tu consulta principal:

Código Delphi [-]
Select i.IdE,i.CiE,i.NomE,i.ApePE,i.ApeME,i.SexoE,i.FinscripcionE,i.CarreraE,i.DeptoE,i.CalleE,sum(TotalRecibido) as Monto
From BDinscripcion i INNER JOIN BDbeca b ON i.IdE=b.IdE
Group by IdE,CiE,NomE,ApePE,ApeME,SexoE,FinscripcionE,CarreraE,DeptoE,CalleE

Creo que el resultado de la consulta será el mismo, pero tendrán también el IdE de cada estudiante.
Con este campo, ahora podrás construir tu segunda consulta.

Espero que te ayude.

Un saludo.

sizne 26-04-2010 05:28:16

Hooola manuc!

Si exacto....tuve que revisar revisar y revisar....y es como dices, muuuuuuuuuchas gracias, claro que me ayudaste.

Saludos!:)


La franja horaria es GMT +2. Ahora son las 20:54:27.

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