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。