可能重复:
How to return multiple values in one column (T-SQL)?
Simulating group_concat MySQL function in MS SQL Server 2005?
您好,
假设我有2个表,我加入其中,我使用关键字段进行INNER JOIN。
架构:
表#a kf int
表#b kf int,data varchar(5)
现在,如果#a有一行,其值为1,而#b有多行,其中的键1与
相同现在当我进行连接而不是获得3行时,是否可以以逗号分隔的方式获取一行数据值,如
1 DBD,DBE,HDG
答案 0 :(得分:1)
以下是使用CTE
和XML PATH('')
;with cte as
(
select
kf,
(select data+','
from #b as b2
where b1.kf = b2.kf
for xml path('')) as data
from #b b1
group by kf
)
select
a.kf,
left(b.data, len(b.data)-1) as data
from #a as a
inner join cte as b
on a.kf = b.kf