SQL SERVER将多行数据合并成一行,去空值
SQL SERVER将多行数据合并成一行 通常需要使用 for xml path('')
具体用法可通过这里学习:
https://www.cnblogs.com/johnwood/p/6386613.html
但若直接使用 for xml path(''),当数据有空值时会得出 “,,,,,,, ” 这样的结果,所以需要排除掉空值。经修改,以下SQL可排除空值。
(SELECT ISNULL( STUFF( ( SELECT CASE WHEN (','+[CRAFT_INFO])=',' THEN '' ELSE (','+[CRAFT_INFO]) END
FROM [dbo].[CRAFT_SCHEDULE] WHERE [ORDER_ID] = 1000034205 for xml path('') ),1,1,'') ,'') ) AS OrderCraftInfo