SQL Server - Concatenar 2 o mas registros

   
Vista:

Concatenar 2 o mas registros

Publicado por Carolina (5 intervenciones) el 26/05/2015 16:17:05
Buenos dias, necesito que me ayuden en esto: quisiera saber si se puede obtener en una select un campo string que sea la suma de otros 2 o mas campos segun una condición.Es decir yo tengo en la tabla 3 registros que cumplen la condicion, y que tienen los campos id_cuenta, n_cuenta
Yo necesito tener un string largo que, separado por algun caracter, me de los id_cuenta y n_cuenta de los 3 registros que cumplen la condicion.Yo lo hago generalmente con un cursor pero quería saber si exitse la posibilidad de concatenarlo directamente en la SELECT
Yo estoy usando SQL Server 2000
Muchas gracias!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Concatenar 2 o mas registros

Publicado por Isaias (3182 intervenciones) el 26/05/2015 18:15:06
1
SELECT id_cuenta + '|' + n_cuenta


Si tus columnas son de tipo string, debes utilizar la instrucción CAST / CONVERT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Concatenar 2 o mas registros

Publicado por Carolina (5 intervenciones) el 26/05/2015 18:51:14
Hola Isaias, gracias por tu respuesta tan rapida!!!!!
Pero no me entendiste, no es eso lo que pido, en realidad mi instrucción es así:
select cast(id_cuenta as char(9)) + '-' + Ltrim(Rtrim(n_cuenta)) + ' // ' from hmcv_asientos_Detalle_cg where nro_rec = :vnro_recibo and debe > 0

Pero esto yo lo tengo definido con un cursor pues para un mismo recibo puede haber mas de 1 registro que el campo debe > 0 , entonces yo lo que quiero es en realidad concatenar los datos de los distintos registros, pero no debe haber otra forma que con un cursor y formar el string dentro de un loop, no?

Igual te dejo la inquietud!!!!!
Un millón de gracias!!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Concatenar 2 o mas registros

Publicado por Isaias (3182 intervenciones) el 26/05/2015 20:10:49
No se dice, "NO me entendiste", ya que es ofensivo, es como decir a una persona, "No entiendes" (porque carece de habilidad mental) o bien de conocimientos.

En fin.

Puedes enviar una muestra de tus datos y la salida que deseas??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Concatenar 2 o mas registros

Publicado por Rafael (88 intervenciones) el 09/06/2015 09:56:28
Prueba con la funcion STUFF

Este es un ejemplo:
1
2
3
4
SELECT FieldA , STUFF(( SELECT  ','+ FieldB FROM TableName a
WHERE b.FieldA = a.FieldA FOR XML PATH('')),1 ,1, '')  Members
FROM TableName b
GROUP BY FieldA;

este Ejemplo hace que dada una tabla con:
1
2
3
4
5
6
7
8
FieldA   FieldB
------   ------
     1        A
     1        B
     1        C
     2        D
     2        E
     3        F

Y el resultado es:
1
2
3
4
5
FieldA   Members
------   ------
     1   A,B,C
     2   D,E
     3   F


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Concatenar 2 o mas registros

Siempre hay una salida que no sea usando cursores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar