SQL Server - trasponer registros de filas en un solo campo

 
Vista:
sin imagen de perfil

trasponer registros de filas en un solo campo

Publicado por CarlosQ (52 intervenciones) el 19/07/2012 17:08:37
Hola maestros buenos días,

me pueden ayudar como puedo hacer lo siguiente

tengo un listado de clientes y por cada cliente tengo varios productos por filas conservando la misma información del cliente, como puedo conservar los datos del cliente y dejar todos los productos en un solo campo separado por coma

cliente domicilio vendedor fecha producto
carlos providencia juan 20120719 559
carlos providencia juan 20120719 221
carlos providencia juan 20120719 339

dejar solo un registro por cliente

cliente domicilio vendedor fecha producto
carlos providencia juan 20120719 559, 221, 339

por favor.
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

trasponer registros de filas en un solo campo

Publicado por Isaias (4558 intervenciones) el 19/07/2012 19:49:48
Este caso es muy recurrente, ¿ya buscaste en San Google?

http://msdn.microsoft.com/es-es/library/bb972215.aspx
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
sin imagen de perfil

trasponer registros de filas en un solo campo

Publicado por CarlosQ (52 intervenciones) el 19/07/2012 21:52:08
Gracias Isaias,

pero esto que me muestras es para hacer un cross de trablas, como una tabla dinamica en excel, lo que necesito es que los datos queden en un solo campo separado por coma, se podrá con laguna query no tan complicada en sql por favor.


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 Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

trasponer registros de filas en un solo campo

Publicado por Isaias (4558 intervenciones) el 20/07/2012 17:35:09
Si, solo que dependera de cuantos datos vayas a colocar en tu cadena separado por comas.


SELECT @Variable = @Variable + ' ,'+ Tucolumna FROM tutabla
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
sin imagen de perfil

trasponer registros de filas en un solo campo

Publicado por CarlosQ (52 intervenciones) el 23/07/2012 21:16:46
Isaias,

Me puedes ayudar realmente no se como plantear la programación, no se mucho de variables

DECLARE @cadena VARCHAR(8000)
SET @cadena = 'SELECT distinct cot_folio, clie_rut,clie_dv, PS_COD
FROM FREND_CLEAN WHERE orig_nombre <>''INMOBILIARIO'' '

SELECT @cadena = @cadena + ','+ PS_COD FREND_CLEAN
EXEC(@cadena)

la idea es mantener en un solo registrolos datos de cliente, domicilio,vendedor y los productos en u solo campo separados por coma, porf avor.

el campo PS_COD son los productos.
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

trasponer registros de filas en un solo campo

Publicado por Isaias (4558 intervenciones) el 24/07/2012 19:18:10
Debes crear una FUNCION DE USUARIO con el codigo que te pase, claro que deberias tener 1 o mas campos que te hagan UNICO el registro, para que cuando mandes llamar tu funcion, le pases los parametros y te regrese un VARCHAR, ya con PRODUCTOS en una sola columnas y separados por comas.
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
sin imagen de perfil

trasponer registros de filas en un solo campo

Publicado por Roberto Campod (1 intervención) el 18/04/2018 18:47:54
hola,
lo que buscas es lo siguiente:
la siguiente consulta me devuelve las líneas de un albarán separadas por ","

1
2
3
4
DECLARE @Lineas VARCHAR(1000)
SELECT @Lineas = COALESCE(@Lineas + ', ', '') + CAST(lineaAlbaran AS VARCHAR (2)) FROM tabla
where albaran = NumDocumento
select @Lineas as valores

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