Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2010
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post Having ?

Holas amigos:

Tengo este Procedimiento Almcenado
Código SQL [-]
CREATE   PROCEDURE Extra_calculo_diaferiados

@fechaI datetime,
@fechaF datetime

AS

SELECT A, B, C, sum(D) as Dias, sum(O) as Cobrar, Fecha
FROM   Tabla
GROUP BY A, B, C, O, Fecha
HAVING (fecha between  @fechaI and @fechaF)
ORDER BY A, B

Lo que necesito es agrupar por los campos A, B, C para realizar la suma y filtrar por un intervalo de fecha.

Como esta el procedimiento no me sirve pues me agrupa por fecha

Me hago entender,
Alguien me pudiera ayudar

Salu2...
Responder Con Cita
  #2  
Antiguo 25-10-2010
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Código SQL [-]
CREATE   PROCEDURE Extra_calculo_diaferiados

@fechaI datetime,
@fechaF datetime

AS

SELECT A, B, C, sum(D) as Dias, sum(O) as Cobrar, min(Fecha) as FIni, max(fecha) as FFin
FROM   Tabla
GROUP BY A, B, C
HAVING (fecha between  @fechaI and @fechaF)
ORDER BY A, B

lo que le entendí es algo así como esto...
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #3  
Antiguo 25-10-2010
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Question mmm ...

Grasias amigos pero no es eso lo que quiero.
Mejor no poner entonces el campo fecha en la consulta, pues ahi filtra por todo el intervalo. Ademas de que esa consulta debe darte error por que no estas agrupando por fecha.

Recuerden :

¿Cómo pudo filtrar por fecha en la consulta teniendo como parametro las fechaI y FechaF, sin agrupar por ellas?
Responder Con Cita
  #4  
Antiguo 25-10-2010
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 19
Kipow Va por buen camino
Código SQL [-]
CREATE   PROCEDURE Extra_calculo_diaferiados

@fechaI datetime,
@fechaF datetime

AS

SELECT A, B, C, sum(D) as Dias, sum(O) as Cobrar, min(Fecha) as FIni
FROM   Tabla
WHERE (fecha between  @fechaI and @fechaF)
GROUP BY A, B, C
ORDER BY A, B

:saber:
Responder Con Cita
  #5  
Antiguo 26-10-2010
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Cita:
Empezado por Ledian_Fdez
Ademas de que esa consulta debe darte error por que no estas agrupando por fecha
Aja, no se en que estaba pensando, lo dije mas de memoria y sin probarla... es con el where como te dice Kipow
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #6  
Antiguo 26-10-2010
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Angry Error

Cita:
Empezado por Kipow Ver Mensaje
Código SQL [-]
CREATE   PROCEDURE Extra_calculo_diaferiados

@fechaI datetime,
@fechaF datetime

AS

SELECT A, B, C, sum(D) as Dias, sum(O) as Cobrar, min(Fecha) as FIni
FROM   Tabla
WHERE (fecha between  @fechaI and @fechaF)
GROUP BY A, B, C
ORDER BY A, B

:saber:
Fecha is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Responder Con Cita
  #7  
Antiguo 26-10-2010
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Thumbs up Ok !!!

Esta es la respuesta correcta !!!

Código SQL [-]
CREATE   PROCEDURE Extra_calculo_diaferiados

@fechaI datetime,
@fechaF datetime

AS

SELECT A, B, C, sum(D) as Dias, sum(O) as Cobrar
FROM   Tabla
WHERE (fecha between  @fechaI and @fechaF)
GROUP BY A, B, C
ORDER BY A, B

Muchas grasias amigos !!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:54:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi