Tsql 在T-SQL中添加具有多列的新行字符

Tsql 在T-SQL中添加具有多列的新行字符,tsql,reporting-services,ssrs-2008-r2,Tsql,Reporting Services,Ssrs 2008 R2,我有一个包含ID、AddrID和Addr列的表 该ID可以附加到多个Addr值,其中每个地址都有自己的ID 我试图使每个ID在加载了多个地址时有一个新行,而不是重复ID。因此,本质上不是每一条记录的每一行 希望它有意义 这最终将成为SSRS报告 所需的输出是这样的: +----+--------+------------+ | ID | AddrID | Addr | +----+--------+------------+ | 1 | S1 | 123 N St |

我有一个包含ID、AddrID和Addr列的表

该ID可以附加到多个Addr值,其中每个地址都有自己的ID

我试图使每个ID在加载了多个地址时有一个新行,而不是重复ID。因此,本质上不是每一条记录的每一行

希望它有意义

这最终将成为SSRS报告

所需的输出是这样的:

+----+--------+------------+
| ID | AddrID |    Addr    |
+----+--------+------------+
|  1 | S1     | 123 N St   |
|  2 | S2     | 456 S ST   |
|    | S3     | 789 W ST   |
|    | S4     | 987 E ST   |
|  3 | S1     | 123 N St   |
|    | S5     | 147 Elm ST |
|    | S6     | 258 SQL St |
+----+--------+------------+
我尝试使用:

declare @nl as char(2) = char(13) + char(10)

但它只是不起作用。

表示应该在表示层(本例中为Reporting Services)中完成,而不是在数据库或查询中完成

您可以通过两种方式执行此操作:

分组

ID
上添加行组,这将自动发生

表达

通过在
可见性
-
隐藏
属性上放置表达式,可以隐藏
ID
字段:

=Fields!ID.Value = Previous(Fields!ID.Value)

这会隐藏
ID
字段,如果它与前一行上的字段相同。

插入新行将如何删除ID。如果ID=2或1行,则为3行?您真的需要在DB中执行此操作吗?您不能只在SSRS RDL的表示层中执行此操作吗?这只是演示和检查的问题。谢谢Chris,这非常有帮助和有用。这就是我要找的。我应该在SSRS演示端搜索该问题。