HELP, como hacerlo SQL 2000

08/07/2009 - 22:43 por Penta | Informe spam
Estimados,
Tengo una tabla llamada PASO, con las siguientes columnas:

ID Int
Mes varchar
Monto Int

entonces:

Id Mes Monto
1 01 100
1 02 300
2 04 100
2 10 100

Quisiera como rsultado.

Id Meses Suma Monto
1 01;02 400
2 04;10 200


Con el Group by todo ok, pero no se me ocurre como concatenar los
meses :(

Saludos.
PENTA.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
09/07/2009 - 09:35 | Informe spam
Probablemente esto sería más eficiente hacerlo en la aplicación cliente,
aunque también es posible hacerlo en SQL Server 2000. La única forma que se
me ocurre a bote pronto es crear una función escalar que te devuelva esa
cadena ya formateada:

CREATE FUNCTION dbo.udf_concat ( @c INT )
RETURNS VARCHAR(8000) AS BEGIN

DECLARE @r VARCHAR(8000) ;

SET @r = '' ;

SELECT @r = @r + mes + ';'
FROM PASO
WHERE id = @c ;

SET @r = LEFT(@r, LEN(@r) -1);

RETURN @r;

END

GO

SELECT t.id, dbo.udf_concat ( t.id ) AS meses, t.SumaMonto
FROM
(
SELECT id, SUM(monto) AS SumaMonto
FROM PASO
GROUP BY id
) t;


"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


"Penta" wrote in message
news:
Estimados,
Tengo una tabla llamada PASO, con las siguientes columnas:

ID Int
Mes varchar
Monto Int

entonces:

Id Mes Monto
1 01 100
1 02 300
2 04 100
2 10 100

Quisiera como rsultado.

Id Meses Suma Monto
1 01;02 400
2 04;10 200


Con el Group by todo ok, pero no se me ocurre como concatenar los
meses :(

Saludos.
PENTA.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida