stuff(select ',' + fieldname from tablename for xml path('')),1,1,'')
stuff(select '分隔符' + 字段名 from 表名 for xml path('')),起始位置大于等于1,移除字符个数,'')
stuff(select ',' + fieldname from tablename for xml path('')),1,1,'') 这一整句的作用是将多行fieldname字段的内容串联起来,用逗号分隔。 例如表 fieldname ----------- AAA BBB CCC 串联之后就是字符串: AAA,BBB,CCC for xml path是SQL Server 2005以后版本支持的一种生成XML的方式。具体如何使用,请参考联机丛书。 stuff函数的作用是去掉字符串最前面的逗号分隔符。
--Table_Main--
BillNo
001
002
--Table_Detail--
BillNo DetailNo
001 123
001 456
001 789
1 SELECT ';'+RTRIM(DetailNo) FROM Table_Detail FOR XML PATH('') 2 3 SELECT (SELECT ';'+RTRIM(DetailNo) FROM Table_Detail FOR XML PATH('')) 4 5 SELECT STUFF((SELECT ';'+RTRIM(DetailNo) FROM Table_Detail FOR XML PATH('')),1,1,'') 6 7 SELECT A.BillNo, STUFF((SELECT ';'+RTRIM(DetailNo) FROM table_detail CO WHERE A.BillNo = CO.BillNo FOR XML PATH('')),1,1,'') DetailNo FROM TABLE_Main A
mysql数据库实现方式 select group_concat(DetailNo) from table_detail