国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 平遥县| 云龙县| 巨野县| 泸溪县| 新绛县| 凤城市| 吴桥县| 青河县| 隆回县| 勃利县| 法库县| 和政县| 新安县| 福泉市| 丹东市| 建始县| 太白县| 全椒县| 尉氏县| 兴化市| 常德市| 嘉兴市| 青州市| 成安县| 隆德县| 观塘区| 桂林市| 滁州市| 子长县| 武城县| 涞水县| 依安县| 石屏县| 鄂伦春自治旗| 盐池县| 襄汾县| 色达县| 云龙县| 仙游县| 永和县| 宜州市|