国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

sql里將重復(fù)行數(shù)據(jù)合并為一行數(shù)據(jù)使用逗號進行分隔

2024-08-31 01:01:02
字體:
供稿:網(wǎng)友
一.定義表變量

復(fù)制代碼 代碼如下:


DECLARE @T1 table
(
UserID int ,
UserName nvarchar(50),
CityName nvarchar(50)
);


復(fù)制代碼 代碼如下:


insert into @T1 (UserID,UserName,CityName) values (1,'a','上海')
insert into @T1 (UserID,UserName,CityName) values (2,'b','北京')
insert into @T1 (UserID,UserName,CityName) values (3,'c','上海')
insert into @T1 (UserID,UserName,CityName) values (4,'d','北京')
insert into @T1 (UserID,UserName,CityName) values (5,'e','上海')


復(fù)制代碼 代碼如下:


select * from @T1
-----最優(yōu)的方式
SELECT CityName,STUFF((SELECT ',' + UserName FROM @T1 subTitle WHERE CityName=A.CityName FOR XML PATH('')),1, 1, '') AS A
FROM @T1 A
GROUP BY CityName
----第二種方式
SELECT B.CityName,LEFT(UserList,LEN(UserList)-1)
FROM (
SELECT CityName,(SELECT UserName+',' FROM @T1 WHERE CityName=A.CityName FOR XML PATH('')) AS UserList
FROM @T1 A
GROUP BY CityName
) B
stuff(select ',' + fieldname from tablename for xml path('')),1,1,'')


這一整句的作用是將多行fieldname字段的內(nèi)容串聯(lián)起來,用逗號分隔。
for xml path是SQL Server 2005以后版本支持的一種生成XML的方式。
stuff函數(shù)的作用是去掉字符串最前面的逗號分隔符。
效果圖:
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 青神县| 长汀县| 安庆市| 察隅县| 高雄县| 菏泽市| 乌兰浩特市| 祥云县| 柳林县| 尼木县| 运城市| 三台县| 广元市| 南部县| 汨罗市| 黑水县| 石河子市| 凌海市| 巍山| 边坝县| 两当县| 河南省| 本溪| 铁岭市| 淮滨县| 达日县| 迁安市| 玉门市| 巴塘县| 沾益县| 得荣县| 枣阳市| 长岛县| 莱芜市| 金坛市| 长宁县| 时尚| 泰宁县| 仁布县| 南汇区| 湖北省|