Ver Mensaje Individual
  #1  
Antiguo 30-05-2007
Avatar de VNyes
VNyes VNyes is offline
Registrado
 
Registrado: sep 2005
Posts: 6
Reputación: 0
VNyes Va por buen camino
sumar columnas en un dbgrid y mostrar mas campos

buenas a todos los que lean y puedan darme una mano en esto:
Tengo las sgtes tablas:

Código SQL [-]
CREATE TABLE ORDENES (
ORD_ID D_ORD_ID,
ORD_COD VARCHAR(5),
ORD_FECHA DATE,
MAT_ID D_MAT_ID)

CREATE TABLE MATERIALES (
MAT_ID D_MAT_ID,
MAT_COD VARCHAR(5),
MAT_NOM VARCHAR(15))

CREATE TABLE PARTES (
PRT_ID D_PRT_ID,
PRT_COD VARCHAR(5),
PRT_INGRESO_1 DECIMAL(10,2),
PRT_INGRESO_2 DECIMAL(10,2),
PRT_SALIDA DECIMAL(10,2))

CREATE TABLE PRT_ORD (
PRT_ID D_PRT_ID,
ORD_ID D_ORD_ID);





Como se daran cuentas una ORDEN puede tener varias PARTES anexadas asi como en un PARTE puede tener varias ORDENES (relacion muchos a muchos). Mi problema es que quisiera mostrar en un dbgrid esto:

ORD_COD, MAT_COD, MAT_NOM, SUM(PRT_INGRESO_1), SUM(PRT_INGRESO_2), SUM(PRT_SALIDA)

Es decir arrojar en un dbgrid el codigo de la orden y material, nombre del material y luego la suma de PRT_INGRESO_1, PRT_INGRESO_2, PRT_SALIDA datos que se encuentran almacenados en Partes y anexados en la tabla PRT_ORD
o dicho de otro modo ya q la orden tiene varias partes sumar los ingresos 1 y 2 y las salidas de estas partes y mostrarlas juntos con los datos de la orden (codigo orden, codigo material, ...)

hay alguna forma de meter eso en el Select de un TpFIBDataSet?, algo como:

Código SQL [-]
SELECT
ORD.ORD_ID,
ORD.ORD_COD,
MAT.MAT_COD,
MAT.MAT_NOM,
SUM(PRT.PRT_ING_1) INGRESO_1,
SUM(PRT.PRT_ING_2) INGRESO_2,
SUM(PRT.PRT_SAL) SALIDA
FROM
ORDENES ORD, MATERIALES MAT, PARTES PRT, PRT_ORD PO
WHERE
PRT.PRT_ID = PO.PRT_ID AND
ORD.ORD_ID = PO.ORD_ID AND
ORD.MAT_ID = MAT.MAT_ID





Talvez halla otra solucion para mostrarlo en el dbgrid, no lo se
Espero haberme hecho entender y gracias de antemano por alguna respuesta

Última edición por VNyes fecha: 31-05-2007 a las 19:15:22.
Responder Con Cita