SQL Server - calculo de dias en fechas presentadas verticalmente

 
Vista:
sin imagen de perfil

calculo de dias en fechas presentadas verticalmente

Publicado por GUS (3 intervenciones) el 15/06/2018 03:50:37
Hola gente! gracias por dedicarle unos minutos a mi consulta
sucede que hace dias que no se me ocurre cómo solucionar este tema
tengo un listado de "estados" para una misma persona y cada estado tiene una fecha, el tema es que estan presentados verticalmente y lo que necesito es:
contar los estados y los dias que pasan de un estado a otro!
les adjunto una pequeña imagen y les super agradezco
foro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

calculo de dias en fechas presentadas verticalmente

Publicado por Isaias (4558 intervenciones) el 15/06/2018 17:47:38
Muy bien, ¿Que esperas obtener (ejemplo)?, ¿En que motor de base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de dias en fechas presentadas verticalmente

Publicado por GUS (3 intervenciones) el 15/06/2018 18:08:22
Hola Isaias!
uso el sql r2 o el sql2012,
Lo que necesito saber es: la cantidad de dias que pasan de la fecha (ubicada en la celda B2) hasta llegar a la celda b3 y asi sucesivamente y por ultimo, la catidad de dias totales desde la primera fecha hasta la última

es decir, busco medir dias de productividad totales

un millon de gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

calculo de dias en fechas presentadas verticalmente

Publicado por Isaias (4558 intervenciones) el 15/06/2018 18:51:42
Te pedi un ejemplo de salida, pero bueno, veamos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DROP TABLE #Estados
CREATE TABLE #Estados (Estado varchar(20), Fecha date)
insert into #Estados values('iniciado', '20180101'),
('devuelto', '20180115'),
('aprobado', '20180202'),
('devuelto', '20180220')
SELECT * FROM #Estados
 
select Estado, count(Estado) as Total
FROM #Estados
GROUP BY Estado
union
select 'Dias', datediff(dd,min(Fecha), max(fecha))
FROM #Estados
order by 2


Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de dias en fechas presentadas verticalmente

Publicado por GUS (3 intervenciones) el 15/06/2018 19:11:29
Hola Isaias, sos un genio mal!
ultima duda
si quiero saber los días que pasan de un estado a otro (no el total) , qué query debería usar?
por ejemplo. si siempre tengo las fechas ordenadas verticamelmente??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

calculo de dias en fechas presentadas verticalmente

Publicado por Isaias (4558 intervenciones) el 15/06/2018 20:23:13
Veamos:

1
2
3
4
5
6
7
8
9
10
11
12
WITH OrderDates AS (
    SELECT
        ROW_NUMBER() OVER (ORDER BY Fecha DESC) AS RowNumber,
        Fecha
    FROM #Estados 
)
SELECT
    DATEDIFF(DD, O2.Fecha, O1.Fecha) AS DiasTranscurridos
FROM OrderDates O1
LEFT JOIN OrderDates O2
    ON O2.RowNumber = O1.RowNumber + 1
WHERE DATEDIFF(DD, O2.Fecha, O1.Fecha) IS NOT NULL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar