Agrupacion por horas y mas

04/12/2007 - 13:43 por Cristian Meneses | Informe spam
Buenas a todos
Estoy trabado intentando ver como se resuelve una consulta y no puedo
avanzar
En sintesis, tengo 3 tablas

ACCESOS
IDUsuario, Hora, Ingreso
1, 10:23:50, 1
1, 15:48:54, 0
1, 16:31:15, 1
1, 19:20:03, 0

TURNO
IDTurno, HoraIN, HoraOUT, HoraIN2, HoraOUT
16, 10:00, 15:30, 16:30, 19:00

PRECIOSHORA
HoraDesde, HoraHasta, HoraComun, HoraExtra
08:00, 19:00, 3, 4
19:00, 08:00, 5, 7

Hice una tabla auxiliar con las horas desde la minima hasta la maxima,
en este ejemplo seria, vinculandolo a cada acceso
10, 1, 10:23:50, 1
11, NULL, NULL, NULL
12, NULL, NULL, NULL
13, NULL, NULL, NULL
14, NULL, NULL, NULL
15, 1, 15:48:54, 0
16, 1, 16:31:15, 1
17, NULL, NULL, NULL
18, NULL, NULL, NULL
19, 1, 19:20:03, 0

Ahora no se como establecer los precios de acuerdo al rango de horas
de PRECIOSHORA y su correspondiente TURNO.
Nota: Pueden haber tantos accesos como se quieran, incluso si el
primer registro es Entrada = 0, se asume que esta desde las 0:00:01, y
si el ultimo fuera Entrada = 1, se asume que esta hasta las 23:59:59.
Tambien puede existir varios rangos de PRECIOSHORA dentro del dia.

Por favor, alguien que me oriente para poder continuar con este
procedimiento almacenado.
Saludos expertos


Cristian Meneses
SQL 2000 SP4

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
04/12/2007 - 15:46 | Informe spam
Hola Cristian,

Para este tipo de preguntas es recomendable postear la estructura de las
tablas involucradas, incluyendo indices y restricciones, asi como data de
ejemplo en forma de sentencias "insert" y resultados esperados.


AMB

"Cristian Meneses" wrote:

Buenas a todos
Estoy trabado intentando ver como se resuelve una consulta y no puedo
avanzar
En sintesis, tengo 3 tablas

ACCESOS
IDUsuario, Hora, Ingreso
1, 10:23:50, 1
1, 15:48:54, 0
1, 16:31:15, 1
1, 19:20:03, 0

TURNO
IDTurno, HoraIN, HoraOUT, HoraIN2, HoraOUT
16, 10:00, 15:30, 16:30, 19:00

PRECIOSHORA
HoraDesde, HoraHasta, HoraComun, HoraExtra
08:00, 19:00, 3, 4
19:00, 08:00, 5, 7

Hice una tabla auxiliar con las horas desde la minima hasta la maxima,
en este ejemplo seria, vinculandolo a cada acceso
10, 1, 10:23:50, 1
11, NULL, NULL, NULL
12, NULL, NULL, NULL
13, NULL, NULL, NULL
14, NULL, NULL, NULL
15, 1, 15:48:54, 0
16, 1, 16:31:15, 1
17, NULL, NULL, NULL
18, NULL, NULL, NULL
19, 1, 19:20:03, 0

Ahora no se como establecer los precios de acuerdo al rango de horas
de PRECIOSHORA y su correspondiente TURNO.
Nota: Pueden haber tantos accesos como se quieran, incluso si el
primer registro es Entrada = 0, se asume que esta desde las 0:00:01, y
si el ultimo fuera Entrada = 1, se asume que esta hasta las 23:59:59.
Tambien puede existir varios rangos de PRECIOSHORA dentro del dia.

Por favor, alguien que me oriente para poder continuar con este
procedimiento almacenado.
Saludos expertos


Cristian Meneses
SQL 2000 SP4

Respuesta Responder a este mensaje
#2 Cristian Meneses
04/12/2007 - 16:13 | Informe spam
Hola Alejandro
Gracias por tu respuesta. Te cuento que las tablas son muchas y no da
para agregarlas aca, ademas hay funciones de por medio, etc. Con los
SELECT que hago y necesito logro la informacion que di.
Te paso la estructura de las tablas que he mencionado

ACCESOS
IDAcceso (PK int), IDUsuario (FK int), Hora (char(8)), Ingreso (bit)

TURNO
IDTurno (PK int), HoraIN (char(5)), HoraOUT (char(5)), HoraIN2
(char(5)), HoraOUT (char(5))

PRECIOSHORA
HoraDesde (char(5)), HoraHasta (char(5)), HoraComun (smallmoney),
HoraExtra (smallmoney)

Todos estos SELECT los tengo en tablas auxiliares listos para ser
manejados y no puedo.
Saludos



Cristian Meneses
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida