Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

select COUNT con rangos de fechas en sql server 2008

Estas en el tema de select COUNT con rangos de fechas en sql server 2008 en el foro de SQL Server en Foros del Web. Amigos del Foro, junto con saludarlos y presentandome a la vez. soy Erick Rojas Nuevo en este foro y espero compartir con ustedes experiencias y ...
  #1 (permalink)  
Antiguo 13/02/2012, 15:25
 
Fecha de Ingreso: febrero-2012
Ubicación: Santiago
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
select COUNT con rangos de fechas en sql server 2008

Amigos del Foro, junto con saludarlos y presentandome a la vez. soy Erick Rojas
Nuevo en este foro y espero compartir con ustedes experiencias y necesidades.

Les comento. Estoy desarrollando un SP

Y necesito saber si pueden ayudarme con un tema que le he dado vuelta y que no he podido solucionarlo.

Estoy desarrollando una query con SQL SERVER 2008, donde paso por parametro
dos fechas (fechaInicio y fechaFin)

al ingresar este rango de fechas necesito que me muestre la cantidad de datos encontrados y colocandolos en dos columnas diferentes por ejemplo.

datos pasados por parametro:

fechaInicio: 01-01-2010
fechaFin: 23-02-2010

Necesito como resultado:

Enero Febrero
23 13

De acuerdo al select Count deberia contar del 01-01-2010 y colocar su cantidad en la columna enero.

y con febrero desde el 01-02-2010 hasta el 23-02-2010



De acuerdo al Procedimiento almacenado que estoy realizando seria.(PERO SOLO me contabilza un mes y lo deja en su columna)

ALTER PROCEDURE [dbo].[INFPROD_PROVEE_COTIZAXFECHA]

@fecInicio varchar(15),
@fecFin varchar(15)
AS
BEGIN
SET NOCOUNT ON;

DECLARE @sql varchar(max)

IF @fecInicio >= '20100101' and @fecFin <= '20101231'
BEGIN
SET @sql = 'SELECT
(CASE
WHEN ''@fecInicio'' >= ''20100101'' and ''@fecFin'' <= ''20100131'' THEN
(Select COUNT(1)
From [10.10.10.51].[Receptivo].[dbo].[file_] f1
Where f1.estado <> ''N''
And f1.fecha Between ''@fecInicio'' And ''@fecFin'')
ELSE
0
END) as Enero,

(CASE
WHEN ''@fecInicio'' >= ''20100201'' and ''@fecFin'' <= ''20100228'' THEN
(Select COUNT(1)
From [10.10.10.51].[Receptivo].[dbo].[file_] f1
Where f1.estado <> ''N''
And f1.fecha Between ''@fecInicio'' And ''@fecFin'' )
ELSE
0
END) as Febrero
  #2 (permalink)  
Antiguo 13/02/2012, 15:46
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: select COUNT con rangos de fechas en sql server 2008

Pues no me queda muy claro, pero creo que son un simple COUNT(fecha), agrupado por DATENAME(Fecha), te daria los resultados, no?
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 13/02/2012, 15:53
 
Fecha de Ingreso: febrero-2012
Ubicación: Santiago
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: select COUNT con rangos de fechas en sql server 2008

Gracias por tu pronta respuesta.

para que se entienda.

pasa por parametros dos fechas

fechaInicio: 01/01/2010
fechaFin: 23/02/2010

Resultados
-----------------------------------

Enero Febrero
23 12

Cabe mencionar que hay que hacer un selct count.

pero al momento de realizarlo y utilizando la funcion Between solo me muestra
por mes.


Resultado
-----------------------------
Enero Febrero
23 0
  #4 (permalink)  
Antiguo 13/02/2012, 15:58
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: select COUNT con rangos de fechas en sql server 2008

¿Que es lo que cuentas?, ¿Porque utilizar Between en fechas y no >= y <=?
__________________
MCTS Isaias Islas

Etiquetas: count, fecha, rangos, select, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:56.