国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 英吉沙县| 永胜县| 青田县| 德江县| 扎鲁特旗| 塘沽区| 贡觉县| 金昌市| 达日县| 龙山县| 蒲城县| 万盛区| 云浮市| 韶山市| 镇安县| 贵定县| 长沙市| 本溪| 新田县| 荣成市| 凤城市| 甘洛县| 淮阳县| 嘉义市| 朝阳区| 华安县| 南昌市| 张家港市| 镶黄旗| 获嘉县| 宜良县| 宕昌县| 若尔盖县| 鹤峰县| 大同市| 周至县| 定西市| 花莲县| 礼泉县| 涟源市| 曲松县|