Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   ayuda con una consulta de 2 tablas y dar resultado en un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=34777)

Goyo 21-08-2006 20:38:20

ayuda con una consulta de 2 tablas y dar resultado en un dbgrid
 
estoy utilizando dos tablas: vehiculos y bitacoravehiculos, quiero que al realizar la consulta me muestre algunos campos de ambas tablas en un DBGrid... de esta manera:
para relacionar las dos tablas, utilizo el campo (NumeroVehiculo) que existe en ambas tablas...
de la tabla Vehiculos, solo quiero Numerovehiculo (que es la llave primaria) y de la tabla BitacoraVehiculos me muestre los campos: fechaservicio, conceptoServ, conceptoRep, numfactura, diascomision, litros, importe, importetotal, para que al ejecutar el formulario de trabajo, al seleccionar un vehiculo me muestre todo su historial de reparaciones y servicios en un DBGrid, por ejemplo:

Tabla: Vehiculos
NumeroVehiculo Placas, Marca
--------------- -------- --------
01 GY-01514 Chevrolet
02 GA-02133 Nissan

Tabla: BitacoraVehiculos*
NumeroVehiculo FechaServicio ConceptoSer Importe ImporteTotal
--------------- -------------- ------------ ------- ------------
01 26/07/2006 Cambio de llantas $700.00 $700.00
01 28/07/2006 Cambio de balatas $800.00 $1500.00
02 20/08/2006 Cambio de aceite $100.00 $100.00

*por mencionar solo algunos campos de esta tabla, el campo importetotal es la suma acumulada del campo importe

Tabla Resultante despues de la consulta, si selecciono solo el
vehiculo 01:

NumeroVehiculo FechaServicio ConceptoSer Importe ImporteTotal
--------------- -------------- ------------ ------- ------------
01 26/07/2006 Cambio de llantas $700.00 $700.00
01 28/07/2006 Cambio de balatas $800.00 $1500.00

Tabla Resultante despues de la consulta, si selecciono
solo el vehiculo 02:

NumeroVehiculo FechaServicio ConceptoSer Importe ImporteTotal
--------------- -------------- ------------ ------- ------------
02 20/08/2006 Cambio de aceite $100.00 $100.00

Para ello en el formulario agregue un componente Query1 y en su propiedad SQL pongo el codigo de la consulta:

Select numerovehiculo, placas from vehiculos


solo que no se como unir ambas tablas con los campos requeridos.













JulioGO 21-08-2006 21:25:23

Prueba con esto:

Select t1.NumeroVehiculo, t2.FechaServicio, t2. ConceptoServ, t2.NumFactura, t2.DiasComision, t2.Litros, t2.importe, t2.importeTotal
from Vehiculos t1 left outer join BitacoraVehiculos t2
on t1.NumeroVehiculo=t2.NumeroVehiculo
where t1.NumeroVehiculo=:NumeroVehiculo
order by t2.FechaServicio

Ojala te sirva

Saludos

anghell77 23-08-2006 07:40:34

Tal como te dice el compañero, JulioGo, igual puede servirte este codigo:

Código SQL [-]
Select Numerovehiculo, fechaservicio, conceptoServ, conceptoRep, 
numfactura, diascomision, litros, importe, importetotal from Vehiculos, BitacoraVehiculos 
where Vehiculos.NumeroVehiculo=BitacoraVehiculos.NumeroVehiculo
order by BitacoraVehiculos.fechaServicio

Además de ello, le cargas todos los campos al Query (doble click sobre el componente TQuery, click derecho sobre la ventana que se abre, y click en AddAllFields)...y si quieres personalizar el el DBGrid1 (Doble click sobre el DBGrid, creas columas, y a éstas le seleccionas el nombre del campo en la propiedad DataField).

Ojalá sirvan las proposiciones...

{Saludos}


La franja horaria es GMT +2. Ahora son las 20:12:33.

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