平坦化SQL server内部联接结果
可能的重复项:平坦化SQL server内部联接结果,sql,sql-server-2008,Sql,Sql Server 2008,可能的重复项: 嗨 假设我有两个表,我在其中使用键字段进行内部连接 模式: 表a kf int 表#b kf int,数据varchar(5) 现在,如果#a有一个值为1的单行,而#b有多个值为1的键的行 1 DBD 1弱势商业企业 1 HDG 现在,当我做一个连接而不是得到3行时,是否有可能得到一行数据值以逗号分隔的方式,如 1 DBD、DBE、HDG这里有一个使用CTE和XML路径(“”) 下面是一个使用CTE和XML路径(“”) ;with cte as ( select
嗨 假设我有两个表,我在其中使用键字段进行内部连接 模式: 表a kf int 表#b kf int,数据varchar(5) 现在,如果#a有一个值为1的单行,而#b有多个值为1的键的行
1 DBD、DBE、HDG这里有一个使用
CTE
和XML路径(“”)
下面是一个使用
CTE
和XML路径(“”)
;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