Sql server 2008 使用SSRS将单个单元格中的值分为多行
SQL表中的一个特定字段具有以下格式的值 价值11、价值12、价值13 价值21、价值22、价值23 我需要使用SSR将文本中的上述每一行转换成单独的行。 例如,我将在报告中获得上述数据的两行。 有没有办法在VS或报表生成器中使用报表项目来实现这一点 提前谢谢 更新 嗨,下面是表格的DDL tblTest [id]int [说明]VARCHAR(最大值) 让我们假设只有一条记录包含以下内容 插入到tblTest中 ([id],[Description]) 价值观 (1,'值11,值12,值13 价值21、价值22、价值23') 因此,在上面插入的描述列中有一个回车字符。描述行中将有两行 所以我的要求是,当我检索数据时,我应该使用下面的格式 ID,描述 1、价值11、价值12、价值13 1、值21、值22、值23Sql server 2008 使用SSRS将单个单元格中的值分为多行,sql-server-2008,reporting-services,ssrs-2008-r2,Sql Server 2008,Reporting Services,Ssrs 2008 R2,SQL表中的一个特定字段具有以下格式的值 价值11、价值12、价值13 价值21、价值22、价值23 我需要使用SSR将文本中的上述每一行转换成单独的行。 例如,我将在报告中获得上述数据的两行。 有没有办法在VS或报表生成器中使用报表项目来实现这一点 提前谢谢 更新 嗨,下面是表格的DDL tblTest [id]int [说明]VARCHAR(最大值) 让我们假设只有一条记录包含以下内容 插入到tblTest中 ([id],[Description]) 价值观 (1,'值11,值12,值1
select '1' as Id, Value11+','+value12+','+Value13 as Description into tblTest from XYZ;
Value11、value12、Value13都应该是字符串您可以使用此
选择
将数据传递给Reporting Services
SELECT t1.id, t2.splittedDescriptions
FROM
(
SELECT tblTest.id,
CAST('<row>' + REPLACE(tblTest.[Description], CHAR(13) + CHAR(10), '</row><row>') + '</row>' AS XML) as xmlRow
FROM tblTest
) t1
CROSS APPLY
(
SELECT xmlTable.splittedRow.value('.', 'VARCHAR(MAX)') as splittedDescriptions
FROM t1.xmlRow.nodes('/row') AS xmlTable(splittedRow)
) t2
示例-输出:
id splittedDescriptions
----------- --------------------
1 val11, val12, val13
1 val21, val22, val23
2 val31, val32, val33
3 val41, val42, val43
3 val51, val52, val53
3 val61, val62, val63
Gihan,您要查找的分组是否始终采用“ValueN”格式,其中N是一位数?生产新产品线的标准是什么?此表中还有其他列吗?如果您提供此表的DDL,这将非常有用。请查找上述要求更新。谢谢你想要马车返回作为分隔符吗?非常感谢。这很有帮助
id splittedDescriptions
----------- --------------------
1 val11, val12, val13
1 val21, val22, val23
2 val31, val32, val33
3 val41, val42, val43
3 val51, val52, val53
3 val61, val62, val63