SqlServer多行查询成单个字符串

  在查询中需要将多行的值查询成一个字符串输出,本来想利用游标自己拼接,网上查了下还有此方法,STUFF的函数,看来对Sql的一些特殊函数还是用的少啊,记录下

SELECT STUFF((SELECT ',  '+a.doc_id+' 付款(未税):'+ convert(varchar,cast(b.check_price/(1+isnull(a.tax,0)/100) as decimal(18,2)))+' 日期:'+ dbo.getdate1(b.apply_date)
 FROM fy_parkinfo a,fy_detail b where a.doc_id = b.doc_id and  b.kinds='7'  and b.status not in ('0','3','11') and a.contractno=''
 FOR XML PATH('')),1,1,'')
SELECT STUFF((SELECT ',  '+qj_reason
 FROM srv_lnk.SignDB.dbo.Note_QjMx where checkid='CCHZ20191226003'
 FOR XML PATH('')),1,1,'')

 

你可能感兴趣的:(SqlServer)