查询结果为多行一列,现在要把这些结果拼接成一个字符串!
select [values]=stuff((select ','+coal_id from cbm_well_coalbed_info t for xml path('')), 1, 1, '')
有点蒙,没接触过这样的用法,很强大!
1.for xml path
将查询结果变成xml
a. select well_id,coal_id from cbm_well_coalbed_info t for xml path('liuxm')
产生的结果如下:
<liuxm>
<well_id>8ad882351ede89c6011eecb09b290002</well_id>
<coal_id>8ad882351ec8d47c011ec99e01b6002b</coal_id>
</liuixm>
2. stuff函数
删除指定长度的字符串并在指定的起始点插入另一组字符
STUFF ( character_expression , start , length , character_expression )
character_expression :操作的字符,
start:删除和插入的起始点,
length:删除的长度,
character_expression :要插入的字符
先记录下,以后再做研究...