
26/01/2009, 15:57
|
 | | | Fecha de Ingreso: enero-2008
Mensajes: 269
Antigüedad: 17 años, 1 mes Puntos: 1 | |
Respuesta: Acomulado en mysql esta un poco largo, esta dentro de un store:
TABLA--CAMPO--DESCRIPCION
MMAV--MAVHORAR --horaReal
MMAV--MAVCSUB--subidas
MMAV--MAVFECHAR--FechaReal
MMAV--MAVHORAR--HoraReal
MMAV--MAVNECO--NumeroEconomico
PRUEBA--PPASAJEROS-- Pasajeros
PRUEBA--PNUMUNIDADES-- NumeroDeUnidades
PRUEBA--PHORA-Hora
MOST--OSTNEC--NumeroEconomico
MOST--OSTFEC--Fecha
MOST--OSTHRRLIN--HoraInicial
MOST--OSTHRRLTR--HoraRealTerminada
MOST--OSTNUM--OrdenDeServicio
CREATE TEMPORARY TABLE SR(HORA INT,SUBIDASP INT,SubidasTotales INT,UNIDAD INT,Economico int);
INSERT INTO SR(HORA,SUBIDASP,SubidasTotales,UNIDAD,Economico)
SELECT A.MAVHORAR,C.PPASAJEROS,MAX(A.MAVCSUB)-MIN(A.MAVCSUB)AS RESTA,PNUMUNIDADES,B.OSTNEC
FROM MMAV A, MOST B,PRUEBA C
WHERE B.OSTRUTA = C.PRUTA AND
--------- A.MAVFECHAR = B.OSTFEC AND
--------- A.MAVNECO = B.OSTNEC AND
--------- B.OSTRUTA=pRuta AND
--------- B.OSTFEC=pFecha AND
--------- HOUR(A.MAVHORAR)=HOUR(C.PHORA) AND
--------- MAKETIME(HOUR(A.MAVHORAR),MINUTE(A.MAVHORAR) , 0) > MAKETIME(HOUR(B.OSTHRRLIN),MINUTE(B.OSTHRRLIN) , 0) AND --------A.MAVHORAR < B.OSTHRRLTR
GROUP BY B.OSTNUM,HOUR(A.MAVHORAR);
SELECT S1.HORA,S1.SUBIDASP,sum(S1.SubidasTotales),sum(S2. SubidasTotales)
--------- (CASE WHEN sum(S1.SubidasTotales) >= S1.SUBIDASP THEN 'OK' ELSE 'X' END)AS ESTADOSUB,S1.UNIDAD,
--------- COUNT(DISTINCT S1.Economico)as Total_Economicos,
--------- (case when COUNT(DISTINCT S1.Economico) = S1.UNIDAD THEN 'OK' ELSE 'X' END) AS ESTADOUNI
FROM SR S1 inner join SR S2 on sum(S1.SubidasTotales) >= sum(S2.SubidasTotales)
group by S1.HORA,SubidasTotales
ORDER BY SubidasTotales;
saludos
Última edición por Zeptimo; 26/01/2009 a las 16:02 |