SQL Server - insertar registros faltantes

   
Vista:

insertar registros faltantes

Publicado por sergio sl_tettamanti@hotmail.com (13 intervenciones) el 21/04/2015 15:27:16
Hola

tengo una tabla con fechas donde fecha se repite varias veces, lo que necesito es crear una tabla con fechas unicas e insertar las fechas faltantes sin sabado y domingo , todo esto a partir de una fecha dada

Espero haber sido claro, agradeceria la ayuda que me pudieran brindar
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 Leonardo Daniel A.

<insertar registros faltantes

Publicado por Leonardo Daniel A. (10 intervenciones) el 21/04/2015 15:52:56
insert into tabla2
select distinct fecha from tabla where fecha = @fecha (DatePart(WeekDay, fecha) <> 1 and DatePart(WeekDay, fecha) <> 7)




1 = Domingo
7 = Sabado
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

<insertar registros faltantes

Publicado por Isaias (3181 intervenciones) el 21/04/2015 17:25:57
Leonardo: Dice que quiere insertar las FECHAS FALTANTES.

Sergio: Tu idea es crear algún tipo de tabla DIMENSION de Tiempo?
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

<insertar registros faltantes

Publicado por sergio (13 intervenciones) el 21/04/2015 18:08:04
Si ok con el select que me diste elimino los sabados y domingos, lo que necesito tambien es dado un rango de fechas, insertar las fechas faltantes intermedias
lo que quisiera es obtener un cursor de hasta 5 fechas correlativas sin los sabados y domingos
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

<insertar registros faltantes

Publicado por Isaias (3181 intervenciones) el 21/04/2015 19:15:34
Pues deberías hacer un WHILE, donde le vas sumando 1 a día (DATEADD) y preguntar, si es sábado o domingo, no lo insertas, de lo contrario, continuas con tu while, hasta llegar a la fecha final.

¿Cierto?

Insisto con mi pregunta, ¿deseas hacer un tipo de DIMENSION de TIEMPO?
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

<insertar registros faltantes

Publicado por sergio (13 intervenciones) el 21/04/2015 21:31:48
Lo que estoy haciendo es un pivot de la tabla principal, que contiene el campo fecha para que tenga la fecha como encabezado, me explico

el encabezado seria

hora fecha1 fecha2 fecha3 fecha4 fecha5
l

el tema es que cuando en la tabla principal tengo una fecha que no existe la tendria que agregar para que no me queden huecos
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

<insertar registros faltantes

Publicado por Isaias (3181 intervenciones) el 21/04/2015 21:48:46
¿Tienes idea de cuantas FECHAS tendras en el encabezado?
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

<insertar registros faltantes

Publicado por sergio (1 intervención) el 22/04/2015 00:02:30
Hasta 5 fechas y depende de la fecha de ingreso, o sea a partir de esa fecha ingresada generar 4 fechas mas, incluida la fecha de ingreso serian 5
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

<insertar registros faltantes

Publicado por Isaias (3181 intervenciones) el 22/04/2015 00:09:21
Pues no se me ocurre otra cosa, mas que hagan un UNION ALL y todas aquellas fechas que estén en NULL, la reemplazas por alguna de las que no están.

Quiero decir, tu sabes cual es tu fecha inicial, sabes cual es tu fecha final (+4), quitando sábados y domingos, entonces, deberías reemplazar las null por aquellas una de aquellas que si están.
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