SQL Server 2008 XML路径 - 使用换行而不是分号

时间:2015-09-17 18:20:58

标签: sql reporting-services substring

我有一份SSRS报告,它使用以下查询列出逗号分隔的名称:

Select distinct 
    ST2.Country, st2.Location, st2.[Group], 
    substring(
    (
            Select ';'+ST1.[Sponsor]  AS [text()]
            From tbl_de_list ST1
            Where ST1.[W ID] = ST2.[W ID]            
            For XML PATH ('')
     ), 2, 1000) [sponsor]
From 
    tbl_de_list ST2
order by 
    st2.[W ID]

从ssrs报告导出时,我需要将它放在新行上。

这就是我所拥有的:

first name, last name ; first name, last name

我需要什么(在一栏中):

first name, last name
first name, last name

1 个答案:

答案 0 :(得分:0)

在对Google进行一些研究之后,我调整了我的查询以添加空格而不是分号作为分隔符。

DECLARE @NewLineChar AS CHAR(2) = CHAR(13) + CHAR(10)
Select distinct ST2.Country, st2.Location,st2.[Group], 
substring(
    (
        Select ';'+ST1.[Sponsor]  AS [text()]
        From tbl_de_list ST1
        Where ST1.[W ID] = ST2.[W ID]            
        For XML PATH ('')
    ), 2, 1000),';',@NewLineChar) [Sponsor]
From tbl_de_list ST2
order by st2.[W ID]

将报告导出到excel / csv时,会将其推送到新行。