Sumar columnas?

11/02/2008 - 15:53 por Carlos Emilio | Informe spam
Estimados
necesito hacer lo siguiente.. tengo una tabla con varias columnas entre
ellas "Progreso del dia", necesito hacer un select, funcion o procedimiento
que me permita incluir una columna mas "Acumulado" que sea la suma de todos
los dias X de "Progreso del dia"
intente lo siguiente, una funcion como sigue

USE [CLIENTE1base]
GO
/****** Objeto: UserDefinedFunction [dbo].[Acumulado] Fecha de la
secuencia de comandos: 02/11/2008 11:45:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[Acumulado] (@ItemID int,@acumulado as integer,@finicio
as datetime)
RETURNS varchar(255)
AS
BEGIN
Select
@Acumulado = 'SELECT SUM(Volumen_avanzado) FROM
Vista_Informe_Reunion_Item'
FROM
[vista_informe_reunion_item]
WHERE
[id_informe_reunion_item] = @ItemID and [fecha_inicio]=@Finicio
Return(@Acumulado)
END
/***** esta funcion aparentemente funciona bien porque cuando la verifico no
me da error pero nose... ****/

un select como sigue
SELECT id_informe_reunion, Item, dbo.Acumulado(id_informe_reunion_item,
fecha_inicio) AS acumulado
FROM Vista_Informe_Reunion_Item
***** aca me da error ****
Alguna idea?
Gracias de Antemano
Carlos Emilio
 

Leer las respuestas

#1 Alejandro Mesa
11/02/2008 - 15:42 | Informe spam
Carlos Emilio,

Trata usando un query correlacionado.

SELECT
id_informe_reunion,
fecha_inicio,
(
Select
SUM(b.Volumen_avanzado)
FROM
Vista_Informe_Reunion_Item as b
WHERE
b.id_informe_reunion_item = a.id_informe_reunion_item
AND b.[fecha_inicio] <= a.[fecha_inicio]
) AS Acumulado
FROM
Vista_Informe_Reunion_Item as a
GO

Trata de adaptar este query a tus necesidades.

AMB


"Carlos Emilio" wrote:

Estimados
necesito hacer lo siguiente.. tengo una tabla con varias columnas entre
ellas "Progreso del dia", necesito hacer un select, funcion o procedimiento
que me permita incluir una columna mas "Acumulado" que sea la suma de todos
los dias X de "Progreso del dia"
intente lo siguiente, una funcion como sigue

USE [CLIENTE1base]
GO
/****** Objeto: UserDefinedFunction [dbo].[Acumulado] Fecha de la
secuencia de comandos: 02/11/2008 11:45:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[Acumulado] (@ItemID int,@acumulado as integer,@finicio
as datetime)
RETURNS varchar(255)
AS
BEGIN
Select
@Acumulado = 'SELECT SUM(Volumen_avanzado) FROM
Vista_Informe_Reunion_Item'
FROM
[vista_informe_reunion_item]
WHERE
[id_informe_reunion_item] = @ItemID and [fecha_inicio]=@Finicio
Return(@Acumulado)
END
/***** esta funcion aparentemente funciona bien porque cuando la verifico no
me da error pero nose... ****/

un select como sigue
SELECT id_informe_reunion, Item, dbo.Acumulado(id_informe_reunion_item,
fecha_inicio) AS acumulado
FROM Vista_Informe_Reunion_Item
***** aca me da error ****
Alguna idea?
Gracias de Antemano
Carlos Emilio



Preguntas similares