cocatenar texto en select

31/01/2007 - 08:05 por Piolin Net | Informe spam
Hola!
es posible cocatenar texto de diferentes registros en una select?
ejemplo:

id texto
1 ana
2 pepe
1 juan
3 julio

resultado a obtener en la select por agrupacion de id

1 ana, juan
2 pepe
3 julio

Hay funciones o algo para conseguir ese resultado en una select?

Gracias
 

Leer las respuestas

#1 Alejandro Mesa
31/01/2007 - 14:50 | Informe spam
Piolin Net,

Que version de SQL Server usas?

Concatenating row values in Transact-SQL
http://www.projectdmx.com/tsql/rowconcatenate.aspx

Esta solucion la cree para la version 2005.

use northwind
go

with cte_1
as
(
select
CategoryID,
ProductName,
rank() over(partition by CategoryID order by ProductName, ProductID) as rank
from
dbo.Products
),
cte_2
as
(
select CategoryID, cast(ProductName as varchar(max)) as list, rank
from cte_1
where rank = 1

union all

select
b.CategoryID, b.list + ',' + cast(a.ProductName as varchar(max)), a.rank
from
cte_1 as a
inner join
cte_2 as b
on a.CategoryID = b.CategoryID
and a.rank = b.rank + 1
)
select
CategoryID,
list
from
(
select
CategoryID,
list,
rank() over(partition by CategoryID order by rank desc) as new_rank
from
cte_2
) as t
where
new_rank = 1
OPTION (MAXRECURSION 0);
go


AMB


"Piolin Net" wrote:

Hola!
es posible cocatenar texto de diferentes registros en una select?
ejemplo:

id texto
1 ana
2 pepe
1 juan
3 julio

resultado a obtener en la select por agrupacion de id

1 ana, juan
2 pepe
3 julio

Hay funciones o algo para conseguir ese resultado en una select?

Gracias

Preguntas similares