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

consulta

Estas en el tema de consulta en el foro de SQL Server en Foros del Web. Buenas necesito saber como poder concatenar n valores de una columna y sumar su valores ejemplo: Columa columb columc --------- ----------- ------------ v n m ...
  #1 (permalink)  
Antiguo 17/11/2011, 14:17
 
Fecha de Ingreso: noviembre-2011
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Información consulta

Buenas necesito saber como poder concatenar n valores de una columna y sumar su valores

ejemplo:

Columa columb columc
--------- ----------- ------------
v n m
v1 n1 m
b j k
b1 j1 k

resultado

columa columb columc
--------- ----------- ------------
v,v1 sum(n,n1) m
b,b1 sum( j,j1) k

porfavor si alguien puede ayudarme seria grandioso

graciasssssssssssssss
  #2 (permalink)  
Antiguo 17/11/2011, 15:10
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: consulta

Me gustaria ayudarte, pero con los datos que proporcionas, la verdad, que no le entiedo, esperemos a algun "adivino" para que nos lo traduzca.
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 17/11/2011, 15:17
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: consulta

Hola b_comic...

para la parte de la suma no deberías tener problemas (estoy suponiendo que se tratan de valores numéricos correcto???), simplemente sería un

Código SQL:
Ver original
  1. SELECT  SUM(columb), columc FROM TuTabla GROUP BY columc

Para la parte de contatenar la primer columna, bueno, no es tan sencillo, aunque en realidad tampoco es complicado... debes crear una función para contatenar los registros, una de las formas más fáciles sería hacer algo como esto:

Código SQL:
Ver original
  1. DECLARE @tabla TABLE (Columa VARCHAR(3))
  2. INSERT INTO @tabla VALUES ('v')
  3. INSERT INTO @tabla VALUES ('v1')
  4. INSERT INTO @tabla VALUES ('v2')
  5. DECLARE @concatena VARCHAR(20)
  6. SET @concatena = '';
  7. SELECT @concatena = @concatena + columa + ',' FROM @tabla
  8. SELECT @concatena

el resultado sería el siguiente
Código:
v,v1,v2,
En tu función le enviarías la columc como parámetro y filtrarías sólo los registros para ese valor. dale un vistazo a este post:

http://www.forosdelweb.com/f87/como-...-campo-389466/

Esta es la implementación de la consulta como una función, de tal manera que sólo tendrías que hacer algo como esto:

Código SQL:
Ver original
  1. SELECT dbo.concatena(columnc), SUM(columb), columc
  2. FROM TuTabla GROUP BY columc

haz el intento y nos comentas.

Saludos
Leo.
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 03:40.