SQL XML Path 把列的值汇总到行
前期准备工作(包括相关工具或所使用的原料等)
SQL Server详细的操作方法或具体步骤
创建表,两列,FName,FHobby

插入数据,多个重复的FName,不同的Bohhy

看到的是并行排列的数据,我们想要按照名称,把Hobby合并到一列

按照名称关联汇总,然后Hobby利用xml合并,最后LEFT函数去掉最后一个连接符号

下面把完整代码贴出来

IF Exists(select 1 from sysobjects where xtype='u' and name='T_ColValue')
Drop Table T_ColValue
GO
Create Table T_ColValue
(
FName nvarchar(255),
FHobby nvarchar(255)
)
GOTruncate Table T_ColValue
GOInsert Into T_ColValue(FName,Fhobby)
select '陈军','睡觉'
Union All
select '陈军','打牌'Union All
select '陈军','装逼'
Union ALl
select '潘国','CS'Union All
select '潘国','打牌'
Union All
select '潘国','泡妞'
GO
Select * from t_colvalueGO
Select FName,Left(FHobby,len(FHobby)-1) FHobby From
(
select FName,
(select FHobby+'/' From t_colvalue t0 where t0.FName=t1.FName for xml path('')
) FHobby From t_colvalue t1
group by Fname
) AS B
Go

- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
