使用分隔线在单个值中插入多个列值

时间:2014-07-22 11:45:08

标签: sql sql-server

如何使用换行符在单个值中插入多个列值。例如,我有三行称为文件名为F1,F2,F3在三个不同的行。我希望将此值保留为F1/nF2/n/F3

列的单个值

示例

jobname       filename          
daily          F1.txt              
daily          F2.txt                  
daily          F3.txt  

所需的输出

jobname       filename          

daily          F1.txt 
               F2.txt
               F2.txt             

1 个答案:

答案 0 :(得分:1)

试试这个。此查询将根据您所需的输出返回数据。因此,您可以使用此查询进行插入。

select distinct t.[jobname],
  STUFF((SELECT distinct ' ' + t1.filename
         from tablename t1
         where t.[jobname] = t1.[jobname]
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,2,'') filename
from tablename t;

请参阅sqlfiddle here