Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/11/2013, 16:23
beimar26
 
Fecha de Ingreso: octubre-2013
Mensajes: 34
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Ejecutar consulta si cumple condicion

Ingenieros Solicito sus Disculpas,Pero ya encontré los errores aquí dejo el código
Ahora una ultima pregunta son 10 Opciones o mejor dicho ya condiciones
si es una Buena practica hacerlo así, Quedo atento a sus amables respuestas

Código MySQL:
Ver original
  1. DELIMITER $$
  2.  
  3. CREATE PROCEDURE MICONSULTA(IN  fecha1 DATE, fecha2 DATE,Grupo int )
  4. if Grupo=2 then
  5.  
  6. eventos.nombre_razonsocial,
  7. eventos.id_ser,
  8. eventos.Nombres,
  9. IFNULL(eventos.fecha, "RESULTADO TOTAL SOCIO DE NEGOCIOS") AS 'FECHA',
  10. eventos.Entrada,
  11. eventos.Salida_Almuerzo,
  12. eventos.Entrada_Almuerzo,
  13. eventos.Total_Almuerzo,
  14. eventos.Salida_Laboral,
  15. eventos.Total_Labor
  16.   FROM (
  17.  
  18. SELECT  e.id_ser,
  19. emp.nombre_razonsocial,
  20. CONCAT(p.Apellidos,'-',p.Nombres) AS 'Nombres',
  21. e.fecha,
  22. TIME(e.fecha_Entrada) AS 'Entrada',
  23. TIME(e.fecha_Salida_Almuerzo) AS 'Salida_Almuerzo',
  24. TIME (e.fecha_Entrada_Almuerzo) AS 'Entrada_Almuerzo',
  25. SEC_TO_TIME(SUM((TIME_TO_SEC(e.fecha_Entrada_Almuerzo) - TIME_TO_SEC(e.fecha_Salida_Almuerzo)))) AS 'Total_Almuerzo',
  26. TIME (e.fecha_salida) AS 'Salida_Laboral',
  27. SEC_TO_TIME(SUM((TIME_TO_SEC(e.fecha_Salida) - TIME_TO_SEC(e.fecha_Entrada)))) AS 'Total_Labor'
  28.  
  29. FROM (eventos e INNER JOIN personas p
  30. ON e.id_ser=p.id_ser
  31.  INNER JOIN  personas_empresa pe
  32.   ON e.id_ser=pe.id_ser
  33.    INNER JOIN  empresas emp
  34.    ON pe.id_empresa=emp.id_empresa)
  35.  
  36. WHERE fecha BETWEEN fecha1 AND fecha2
  37. #WHERE fecha BETWEEN '2013-10-01' AND '2013-10-15'
  38. and  emp.id_empresa=2
  39. GROUP BY e.id_ser,e.fecha ASC WITH ROLLUP
  40. LIMIT 2000
  41. ) AS eventos;
  42.  
  43.  
  44. eventos.nombre_razonsocial,
  45. eventos.id_ser,
  46. eventos.Nombres,
  47. IFNULL(eventos.fecha, "RESULTADO TOTAL SOCIO DE NEGOCIOS") AS 'FECHA',
  48. eventos.Entrada,
  49. eventos.Salida_Almuerzo,
  50. eventos.Entrada_Almuerzo,
  51. eventos.Total_Almuerzo,
  52. eventos.Salida_Laboral,
  53. eventos.Total_Labor
  54.   FROM (
  55.  
  56. SELECT  e.id_ser,
  57. emp.nombre_razonsocial,
  58. CONCAT(p.Apellidos,'-',p.Nombres) AS 'Nombres',
  59. e.fecha,
  60. TIME(e.fecha_Entrada) AS 'Entrada',
  61. TIME(e.fecha_Salida_Almuerzo) AS 'Salida_Almuerzo',
  62. TIME (e.fecha_Entrada_Almuerzo) AS 'Entrada_Almuerzo',
  63. SEC_TO_TIME(SUM((TIME_TO_SEC(e.fecha_Entrada_Almuerzo) - TIME_TO_SEC(e.fecha_Salida_Almuerzo)))) AS 'Total_Almuerzo',
  64. TIME (e.fecha_salida) AS 'Salida_Laboral',
  65. SEC_TO_TIME(SUM((TIME_TO_SEC(e.fecha_Salida) - TIME_TO_SEC(e.fecha_Entrada)))) AS 'Total_Labor'
  66.  
  67. FROM (eventos e INNER JOIN personas p
  68. ON e.id_ser=p.id_ser
  69.  INNER JOIN  personas_empresa pe
  70.   ON e.id_ser=pe.id_ser
  71.    INNER JOIN  empresas emp
  72.    ON pe.id_empresa=emp.id_empresa)
  73.  
  74. WHERE fecha BETWEEN fecha1 AND fecha2
  75. #WHERE fecha BETWEEN '2013-10-01' AND '2013-10-15'
  76. AND  emp.id_empresa=3
  77. GROUP BY e.id_ser,e.fecha ASC WITH ROLLUP
  78. LIMIT 2000
  79. ) AS eventos;
  80.  
  81.  
  82.     END$$
  83.  
  84. DELIMITER ;





De antemano muchas gracias por su colaboración y orientación
Desde Bogota Colombia
Beimar Trujillo

Última edición por gnzsoloyo; 07/11/2013 a las 19:20 Razón: SQL sin etiqutar. Usar Highlight "MySQL"