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

时间:2021-07-01 20:23:46

How can I insert multiple values of a column in a single value with newlines. for example i have three rows for a column called filename as F1,F2,F3 in three different rows. i want to keep this in single value of column as F1/nF2/n/F3

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

example

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

desired output

jobname       filename          

daily          F1.txt 
               F2.txt
               F2.txt             

1 个解决方案

#1


1  

Try this. This query will return data as per your desired output. SO you can use this query for insertion.

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

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;

See sqlfiddle here.

请参见这里的sqlfiddle。

#1


1  

Try this. This query will return data as per your desired output. SO you can use this query for insertion.

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

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;

See sqlfiddle here.

请参见这里的sqlfiddle。