Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/12/2010, 19:27
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta sobre procedimientos almacenados

Código MySQL:
Ver original
  1. DELIMITER $$
  2.  
  3. CREATE PROCEDURE recorridos(in idGps int,in buscar int)
  4. IF buscar = 1 THEN
  5.     SELECT *
  6.     FROM recorridos
  7.     Where DATE_SUB(CURDATE(), INTERVAL 1 DAY) = DATE(fecha) AND idGps = idGps;
  8. ELSEIF buscar=2 THEN
  9.     SELECT * FROM recorridos
  10.     Where DATE_SUB(CURDATE(), INTERVAL 0 DAY) = DATE(fecha) AND idGps = idGps;
  11. ELSEIF buscar=3 THEN
  12.     SELECT * FROM
  13.     recorridos
  14.     Where ( DATE_SUB(CURDATE(), INTERVAL 0 DAY) = DATE(fecha) ) AND ( TIMEDIFF(CURTIME(), hora) < '12:00:00' ) AND (idGps = idGps);
  15. ELSEIF buscar=4 THEN
  16.     SELECT *
  17.     FROM recorridos
  18.     Where ( DATE_SUB(CURDATE(), INTERVAL 0 DAY) = DATE(fecha) ) AND ( TIMEDIFF(CURTIME(), hora) < '06:00:00' ) AND (idGps = idGPS);
  19. ELSEIF buscar=5 THEN
  20.     SELECT *
  21.     FROM recorridos
  22.     Where ( DATE_SUB(CURDATE(), INTERVAL 0 DAY) = DATE(fecha) ) AND ( TIMEDIFF(CURTIME(), hora) < '01:00:00' ) AND (idGps = idGps);
  23. ELSEIF buscar=6 THEN
  24.     SELECT *
  25.     FROM recorridos
  26.     WHERE codRecorrido = (SELECT max(codRecorrido) FROM recorridos Where idGps = idGps);
  27. ELSEIF buscar=7 THEN
  28.     SELECT fecha, sum(velocidad / count(fecha), max(velocidad)
  29.     FROM recorridos
  30.     WHERE ( DATE(fecha) > DATE_SUB(CURDATE(), INTERVAL 7 DAY) ) and idGps=idGps
  31.     GROUP BY fecha HAVING sum(velocidad)>0;
  32. ELSEIF buscar=8 THEN
  33.     SELECT fecha, sum(velocidad) / count(fecha),max(velocidad)
  34.     FROM recorridos
  35.     WHERE ( DATE(fecha) > DATE_SUB(CURDATE(), INTERVAL 1 MONTH) ) and idGps=idGps
  36.     GROUP BY fecha HAVING sum(velocidad) > 0;
  37. END$$
  38. delimiter ;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)