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

posted @ 2018-07-28 14:30  LongBar  阅读(328)  评论(0编辑  收藏  举报