Hola LUISESPOCH:
Lamentablemente, SQL Server no implementa la función Group_Concat de MySQL, que hace exactamente lo que tu quieres, sin embargo puedes simular esta consulta. La implementación no es nada sencilla, pero te puede servir.
Código SQL:
Ver originalDECLARE @Tabla TABLE (Campo1 VARCHAR(3), Campo2 VARCHAR(50))
INSERT INTO @Tabla VALUES ('001', 'Descripcion1')
INSERT INTO @Tabla VALUES ('001', 'Descripcion2')
INSERT INTO @Tabla VALUES ('001', 'Descripcion3')
INSERT INTO @Tabla VALUES ('002', 'Descripcion1')
INSERT INTO @Tabla VALUES ('002', 'Descripcion2')
INSERT INTO @Tabla VALUES ('002', 'Descripcion3')
SELECT Campo1, LEFT(CamposConcatenados , LEN(CamposConcatenados )-1) AS CamposConcatenados
FROM @Tabla AS extern
CROSS APPLY
(
SELECT Campo2 + ','
FROM @Tabla AS intern
WHERE extern.Campo1 = intern.Campo1
FOR XML PATH('')
) pre_trimmed (CamposConcatenados)
GROUP BY Campo1, CamposConcatenados
el resultado de esto sería:
Código:
Campo1|CamposConcatenados
-----------------------------------------------------------
001|Descripcion1,Descripcion2,Descripcion3
002|Descripcion1,Descripcion2,Descripcion3
Checa estas páginas
http://stackoverflow.com/questions/4...ql-server-2005 http://explainextended.com/2010/06/2...in-sql-server/
Hay alguna razón en especial por la que no debas utilizar funciones??? te lo digo porque también puedes implementar una función de concatenación mucho más sencilla. Aquí un ejemplo:
http://www.forosdelweb.com/f21/conca...olumna-324779/
Saludos
Leo.