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

 

posted @ 2020-12-26 11:09  努力吧兄Dei  阅读(853)  评论(0编辑  收藏  举报