SqlServer combines the multiple rows of data queried into a string and returns it

SELECT main_id,main_name,
main_hobby=STUFF((SELECT ','+sub_hobby FROM 
table_sub WHERE main_id=t.main_id FOR XML PATH('')),1,1,'')
FROM table_main t
GROUP BY main_id,main_name
stuff(select ',' + fieldname  from tablename for xml path('')),1,1,'')
这句话的作用便是将多行fieldname字段的内容拼成字符串,并用逗号隔开。
for xml path是SQL Server 2005以后版本支持的将查询内容拼成XML的方法。
stuff函数的作用是去掉字符串最前面的一个逗号。


 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324404826&siteId=291194637