Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/05/2011, 10:18
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: agrupar por rango de fechas

Hola cbyto:

Humildemente creo que los compañeros Heimish2000 y Libras están complicando demasiado las alternativas que proponen, pues creo que no hay necesidad ni de crear una columna adicional con CASE como propone Heimish2000, ni tampoco hay necesidad de hacer una subconsulta, como lo propone Libra. Creo que puedes obtener el resultado esperado de manera directa, prueba con esto:

Código SQL:
Ver original
  1. SET LANGUAGE spanish
  2. DECLARE @Tabla TABLE (id_cod INT, Fecha datetime, Descrip VARCHAR(50), Vta_b FLOAT, Vta_n FLOAT, dto FLOAT, canti INT)
  3. INSERT INTO @Tabla VALUES (1, '20/04/2011', 'Lapiz azul', 10.00,10.00, 0.00, 1)
  4. INSERT INTO @Tabla VALUES (2, '02/05/2011', 'Lapiz negro', 5.00, 5.00, 0.00, 2)
  5. INSERT INTO @Tabla VALUES (3, '03/05/2011', 'Lapiz azul', 10.00, 8.00, 2.00, 1)
  6. INSERT INTO @Tabla VALUES (4, '05/05/2011', 'Lapiz negro',10.00, 9.00, 1.00, 2)
  7.  
  8. SELECT datename(m, Fecha), descrip,
  9. SUM(Vta_b) Total_Vta_b, SUM(Vta_n) Total_Vta_n, SUM(dto) Total_dto,  SUM(canti) total_canti
  10. FROM @Tabla
  11. GROUP BY datename(m, Fecha), descrip

esta línea

Código:
set language spanish
sirve para poner por defecto los nombres de los meses en español y te permite capturar las fechas en formato dd/mm/yyyy.

Haz la prueba y nos comentas los resultados.

Saludos
Leo.