SQL Server - Rango Horario consulta

 
Vista:
Imágen de perfil de andres
Val: 9
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Rango Horario consulta

Publicado por andres (5 intervenciones) el 04/05/2019 05:12:23
Hola, Buen día, el código funciona muy bien y es lo que esperaba, pero habrá alguna posibilidad de crear alguna función para que al ir cambiando la hora en: @fec_inicio o @fec_fin me haga el calculo porque por lo que veo el código esta Harcodeado para que funcione con un rango de 35 minutos y solo con la hora de 08:00 a 10:00 !!

Bueno de todas maneras muy agradecido por su ayuda
andres

Codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
declare
@fec_inicio DateTime,
@fec_fin DateTime
-- SET DATEFIRST to U.S. English default value of 7.
SET DATEFIRST 7;
 
SELECT @fec_inicio = '2019-04-30 08:00', @fec_fin = '2019-05-30 10:00'
 
;WITH FECHAS(fecha, DiaDeAtención) AS (
SELECT @fec_inicio as fecha, DiaDeAtención = datepart(weekday,@fec_inicio)
UNION all
SELECT DATEADD(DAY,1, fecha),  datepart(weekday,fecha)
FROM FECHAS
WHERE fecha < @fec_fin
)
-- INTERVALO ENTRE CADA CONSULTA MEDICA-------
,consultas as (
 
select Minuto = 0	UNION ALL
select Minuto = 35	UNION ALL
select Minuto = 70	UNION ALL
select Minuto = 105
)
-- FIN DE INTERVALO ---------------------------------------------
 
SELECT DATEADD(minute, c.Minuto, f.fecha) as RANGO from FECHAS F
CROSS JOIN CONSULTAS C
where DATEPART(DW, fecha) = 3 --DIAS DE ATENCION:  Lun:2, Mar:3, Mier:4, jue:5; vier:6, sab:7, dom:8
ORDER BY fecha
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 Vega
Val: 102
Ha aumentado su posición en 3 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Rango Horario consulta

Publicado por Vega (43 intervenciones) el 05/05/2019 23:34:03
Hola, si claro. La idea es que controles los horarios en la segunda consulta del CTE.
Creo que entierro tu problema...

Tal y como está hecha la consulta de momento, los dos parámetros que le pasas son para controlar los límites de fecha y hora. Tú puedes controlar los horarios por día en la segunda consulta cómo mejor te parezca.

Pon un ejemplo de uno o dos casos que está consulta no te satisfaga y a ver si te podemos ayudar.
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