consulta por rango de fechas
buenas noches...
quiero ver si me pueden ayudar a optimizar este proceso tengo turnos 01 00:01 06:00 Amanecida 02 06:01 12:00 Mañana 03 12:01 18:00 Tarde 04 18:01 24:00 Noche y tengo ventas entre esas horas lo que quiero es sacar el total de ventas en los turnos correspondientes, eso implica que si tengo una venta a las 07:00 am la venta corresponde al turno 02, venta a las 17:35, corresponde al turno 03... y asi sucesivamente lo que hago es ... genero una consulta (group) por las horas de las ventas y lo recorro para buscar el rango en el que esta, pero no me parece optimo ese proceso, asi que recurro a uds. para ver si tienen alguna idea para optimizar la consulta o si se puede hacer via subconsultas o algo asi |
Hola, yo tengo algo parecido y lo que hago es que en el momento de generar la factura grabo el número correspondiente, luego las consultas vuelan por que es por el 1, 2, 3, etc.
Resumiendo, en el momento de generar la venta, busco el número de turno que le corresponde y aparte de grabar la hora en la factura, también grabo el turno. Generas un campo nuevo en la base de datos para almacenar ese número y modificas el procedimiento de grabar para que busque al que corresponde y lo grabe, 1, 2, etc. Un saludo. |
Puedes poner la sentencia SQL que usas?
|
Siempre primero pensar en crear el modelo de datos normalizando la información. En este caso crear la tabla de turnos, luego en armar la consulta:
Ese ejemplo funciona en MySql. PD: Le agregaría a la tabla TURNO un trigger de validación que no permita dos turnos en el mismo rango, y que el rango sea válido. Saludos |
lo solucioné de esta manera
-- aqui tengo las ventas en rango de fecha o en el dia.. dependiendo del where
aqui obtengo lo que deseo lo dejo por si le puede servir a alguien |
La franja horaria es GMT +2. Ahora son las 00:53:47. |
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