Código SQL:
Ver originalCREATE TABLE testing_c
(
DATA VARCHAR(20),
data1 VARCHAR(20),
data2 VARCHAR(20),
data3 VARCHAR(20),
data4 VARCHAR(20),
data5 VARCHAR(20)
)
INSERT INTO testing_c VALUES ('081-5088','descripcion','PZA','ubicacion1','ALMACEN 2','02')
INSERT INTO testing_c VALUES ('081-5088 ','descripcion','PZA','ubicacion2','ALMACEN 2','02')
INSERT INTO testing_c VALUES ('081-5088 ','descripcion','PZA','ubicacion3','ALMACEN 2','02')
INSERT INTO testing_c VALUES ('081-5085 ','descripcion','PZA','ubicacion1','ALMACEN 2','02')
INSERT INTO testing_c VALUES ('081-5085 ','descripcion','PZA','ubicacion2','ALMACEN 2','02')
INSERT INTO testing_c VALUES ('081-5085 ','descripcion','PZA','ubicacion3','ALMACEN 2','02')
CREATE FUNCTION VALUE (@id VARCHAR(20))
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @DepartmentName VARCHAR(1000)
SELECT @DepartmentName = COALESCE(@DepartmentName,'') + data3 + ','
FROM testing_c WHERE DATA=@id
RETURN @DepartmentName
END
SELECT DATA,data1,data2,(SELECT dbo.VALUE(DATA)),data4,data5 FROM testing_c GROUP BY DATA,data1,data2,data4,data5
usando los valores que das de ejemplo cree una tabla, para poder ilustrar como realizar lo que necesitas, si te fijas use la funcion coalesce, con una funcion para poder retornar los datos como los necesitas.
Preguntas, comentarios son bien recibidos :)