Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2007, 09:02
rafaelcruz_y
 
Fecha de Ingreso: julio-2007
Mensajes: 8
Antigüedad: 17 años, 7 meses
Puntos: 0
ayuda con query complicado

¡HOLA!

Tengo una tabla que contiene la siguiente informacion

ID_tb..............Fecha.................Descripci on....................Status
1...............26/06/2007............Descrip1......................Nuev o
1...............26/06/2007............Descrip1......................toma do
1...............30/06/2007............Descrip1......................prue bas
2...............03/07/2007............Descrip1......................Nuev o
2...............04/07/2007............Descrip1......................toma do
2...............06/07/2007............Descrip1......................prue bas
2...............09/07/2007............Descrip1......................prod uctivo
3...............26/06/2007............Descrip1......................nuev o
3...............27/06/2007............Descrip1......................toma do
3...............28/06/2007............Descrip1......................prue bas
3...............30/06/2007............Descrip1......................prod uctivo
4...............01/07/2007............Descrip1......................nuev o
4...............05/07/2007............Descrip1......................toma do
4...............06/07/2007............Descrip1......................prue bas

Esta tabla equivale a un historico de seguimiento de actividades. lo q se busca es establecer el tiempo en horas q tardan las tareas.
la idea es llegar de esa informacion a la siguiente, en base a los parametros de entrada fecha1 y fecha2 (un intervalo) y el status decir las horas q se tardo 1 descripcionX en el estatus dado antes de cambiar al siguiente. vale la pena acotar q de nuevo solo puede cambiar a tomado y de tomado a pruebas y de pruebas a tomado, nunca de nuevo a productivo ni de tomado a productivo ejemplo:

entrda: status= tomado fecha1: 26/04/2007 fecha2: 09/07/2007 es decir cuanto tardo tomando antes de pasar a pruebas (ya q es el unico status q puede tomar despues de "tomado") el resultado deberia ser de esta manera:

ID_tb............FechaTom..............fechaPru... .................totalHoras
1...............26/06/2007............30/06/2007...................32H
2...............04/07/2007............06/07/2007..................16H
3...............27/06/2007............28/06/2007...................24H
4...............05/07/2007............06/07/2007..................24H

las horas las calculo multiplicando 4 dias (del 26/06/2007 al 30/06/2007) por 8 horas (laborales)
la FechaTom es la fecha q tiene el estatus de entrada en este caso "tomado" y la fechaPru es la fecha en la q cambio del status anterior a ese.

Necesito esto para hacer un reporte en ireport y para eso es urgente que saque primero el query sql.

espero haberme explicado y me puedan ayudar porque es ¡urgente! Muchas gracias de antemanos