SQL - Dias Semana

   
Vista:

Dias Semana

Publicado por Cristian (11 intervenciones) el 15/05/2009 23:21:51
Hola, les cuento lo que devo hacer y ojala me puedan dar una mano..
Tengo informacion acumulada diaria en una tabla(Con su fecha de proceso respectiva), osea, cargo los datos de lunes a viernes en esa tabla.
Y lo que necesito es crear una consulta que me entregue la informacion de la semana actual, por ejemplo si hoy es jueves, que me muestre la informacion de los dias lunes, martes, miercoles y los dias jueves y viernes los muetre vacios (con ceros).
esto es para implementarlo en reporting services 2005.
Espero me puedan ayudar, saludos.

Cristian.
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 roger

RE:Dias Semana

Publicado por roger (93 intervenciones) el 16/05/2009 00:42:08
como seria la estructura de la tabla que tienes?
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

RE:Dias Semana

Publicado por Cristian (11 intervenciones) el 16/05/2009 07:56:58
Hola Roger, gracias por responder,
La tabla tiene los siguientes campos:
Fecha (int, "20090515"), Categoria_Cliente (nvarchar), Subcat_Cliente(nvarchar), Total(Float).
Y necesito, que para el rango de dias de la semana q
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

RE:Dias Semana

Publicado por Cristian (11 intervenciones) el 16/05/2009 07:57:00
Hola Roger, gracias por responder,
La tabla tiene los siguientes campos:
Fecha (int, "20090515"), Categoria_Cliente (nvarchar), Subcat_Cliente(nvarchar), Total(Float).
Y necesito, que para el rango de dias de la semana q
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

RE:Dias Semana

Publicado por Cristian (11 intervenciones) el 16/05/2009 07:58:56
Hola Roger, gracias por responder,
La tabla tiene los siguientes campos:
Fecha (int, "20090515"), Categoria_Cliente (nvarchar), Subcat_Cliente(nvarchar), Producto()nvarchar, Total(Float).
Y necesito, que para el rango de dias de la semana que indiqué anteriormente, me entrege el valor del campo total por producto.

Saludos.
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 roger

RE:Dias Semana

Publicado por roger (93 intervenciones) el 16/05/2009 18:24:15
la fecha la tienes como int?????
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

RE:Dias Semana

Publicado por Cristian (11 intervenciones) el 17/05/2009 18:45:59
Correccion, está como datetime, lo he cambiado : (
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

RE:Dias Semana

Publicado por DALSOM (197 intervenciones) el 18/05/2009 19:24:45
UTILIZA LA FUNCION datepart() PARA OBTENER EL NUMERO DEL DIA.
LA SENTENCIA Case PARA ELEGIR SI ES EL DIA DE LA SEMANA NUMERO n TE MUESTRE EL VALOR, DE LO CONTARIO PONGA UN 0.

AL FINAL TENDRAS 5 O 7 Cases, SEGUN LOS DIAS QUE CUENTES.

SALUDOS,
DALSOM.
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

RE:Dias Semana

Publicado por Cristian (11 intervenciones) el 20/05/2009 06:59:15
Muchas gracias DALSOM, pero tendrias un ejemplo para entenderlo mejor : ).

Saludos
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

RE:Dias Semana

Publicado por DALSOM (197 intervenciones) el 20/05/2009 19:17:09
ASI :

DIGAMOS QUE TIENES UNA ESTRUCTURA MAS O MENOS ASI

dbo.Tabla1
(TFecha Datetime not null,
yMonto money not null default 0)

ENTONCES SERIA ASI PARA EL MES DE ENERO DEL 2009 :

select
case when datepart(dw,tfecha) = 2 then ymonto else 0 end as Lunes,
case when datepart(dw,tfecha) = 3 then ymonto else 0 end as Martes,
case when datepart(dw,tfecha) = 4 then ymonto else 0 end as Miercoles,
case when datepart(dw,tfecha) = 5 then ymonto else 0 end as Jueves,
case when datepart(dw,tfecha) = 6 then ymonto else 0 end as Viernes
from tabla1
where month(tfecha) = 1 and year(tfecha) = 2009 and
datepart(dw,tfecha) in (2,3,4,5,6)

VES, ES SENCILLO, AHORA TU DEBES DECIDIR COMO AGRUPARLO, Y
EL RANGO DE FECHAS QUE QUIERES MOSTRAR. TAMBIEN LO PUEDES HACER PARA LOS MESES. EN ESTE CASO, NO ESTA AGRUPADO, Y SERVIRIA PARA UN REPORTE DETALLADO.

ESPERO ESTO RESPONDA TU PROBLEMA.

SALUDOS, DESDE LA REP. DOM.
DALSOM.
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