Principales respuestas
Agrupar diferentes registros en un solo campo

Pregunta
-
Respuestas
-
Usa la opcion FOR XML PATH para simular una agregacion de cadenas.
DECLARE @T table ( codigo char(3) NOT NULL, color varchar(25) NOT NULL ); INSERT INTO @T ( codigo, color ) VALUES ('001', 'Negro'), ('001', 'Blanco'), ('002', 'Rojo'), ('002', 'Verde'); SELECT codigo, STUFF( ( SELECT ',' , color AS [data()] FROM @T AS R WHERE R.codigo = T.codigo ORDER BY R.color FOR XML PATH('') ), 1, 1, '') AS colores FROM (SELECT DISTINCT codigo FROM @T) AS T
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas- Propuesto como respuesta Pablo RubioModerator jueves, 25 de enero de 2018 22:13
- Marcado como respuesta Pablo RubioModerator lunes, 29 de enero de 2018 17:11
-
Por cada valor distincto de la columna [codigo] se crea una columna adicional con la concatenacion de los colores relacionados con cada codigo. La concatenacion se have usando la opcion FOR XML PATH.
Para mas informacion deberas en los BOL sobre esta opcion.
Si tienes acceso a SS 2017 entonces podras usar la nueva funcion de conjunto ordenado STRING_AGG.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas- Propuesto como respuesta Pablo RubioModerator jueves, 25 de enero de 2018 22:13
- Marcado como respuesta Pablo RubioModerator lunes, 29 de enero de 2018 17:11
Todas las respuestas
-
Usa la opcion FOR XML PATH para simular una agregacion de cadenas.
DECLARE @T table ( codigo char(3) NOT NULL, color varchar(25) NOT NULL ); INSERT INTO @T ( codigo, color ) VALUES ('001', 'Negro'), ('001', 'Blanco'), ('002', 'Rojo'), ('002', 'Verde'); SELECT codigo, STUFF( ( SELECT ',' , color AS [data()] FROM @T AS R WHERE R.codigo = T.codigo ORDER BY R.color FOR XML PATH('') ), 1, 1, '') AS colores FROM (SELECT DISTINCT codigo FROM @T) AS T
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas- Propuesto como respuesta Pablo RubioModerator jueves, 25 de enero de 2018 22:13
- Marcado como respuesta Pablo RubioModerator lunes, 29 de enero de 2018 17:11
-
-
Por cada valor distincto de la columna [codigo] se crea una columna adicional con la concatenacion de los colores relacionados con cada codigo. La concatenacion se have usando la opcion FOR XML PATH.
Para mas informacion deberas en los BOL sobre esta opcion.
Si tienes acceso a SS 2017 entonces podras usar la nueva funcion de conjunto ordenado STRING_AGG.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas- Propuesto como respuesta Pablo RubioModerator jueves, 25 de enero de 2018 22:13
- Marcado como respuesta Pablo RubioModerator lunes, 29 de enero de 2018 17:11
-
Hola tengo Acces 2010 y la verdad no entiendo para atras ni para adelante,,,, ayuddaaaaaaa entiendo casi nada de sql. si es la unica manera de hacerlo estoy en el orno de lo contrario ayudaaaaaaa
Gracias
Mi tabla se llama Curva de talles. y de esa tabla saque código y color para hacer mi consulta en acces.. pero hasta ahi llegue- Editado Daniel Calapeña martes, 30 de enero de 2018 14:04
-
-
Por cada valor distincto de la columna [codigo] se crea una columna adicional con la concatenacion de los colores relacionados con cada codigo. La concatenacion se have usando la opcion FOR XML PATH.
Para mas informacion deberas en los BOL sobre esta opcion.
Si tienes acceso a SS 2017 entonces podras usar la nueva funcion de conjunto ordenado STRING_AGG.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntasesto es lo que hice, y ese el resultado jajaja me ayudan para ver cual es el problema??? gracias