Lo mas sano es que cambies un poco la estructura de tus tablas, es decir, hoy tienes el campo fecha que entiendo es la fecha en la que se inicio la actividad, si le agregaras un campo de fechafin que grabe la fecha en que termino la actividad y paso al siguiente status tendrías todo resuelto.
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
IISLAS casí lo tenía, solo le falto agregar el status y que las horas no son reales:
Código:
SELECT a.Id_Tb, a.Fecha FechaNuevo, b.Fecha FechaTomado,
DATEDIFF(DAY, b.Fecha, a.Fecha) * 8 Tiempo
FROM MiTabla a
INNER JOIN MiTabla b
ON a.IdTb = b.Id_Tb
AND a.Status = 'Tomado' --Cambia este valor por el parámetro de entrada
AND b.Status = 'Pruebas' --Cambia este valor por el parámetro de entrada
WHERE a.Fecha between '26/04/2007' AND '09/07/2007' --Cambia los valores por los parámetros de entrada
Saludos!