0

我有连接多个表的 T-SQL 查询。我在 SSRS 中使用它作为数据集查询。我只选择两列,ID 和名称。我有三个具有相同“ID”值但三个不同“名称”值的记录。在 SSRS 中,我得到了第一个“名称”值,我需要将所有三个具有相同 ID 的值连接起来,并将其放在表格的一个单元格中。

我该怎么做呢?

我正在使用查找来组合多维数据集 + sql 直接从表中提取 ID,但使用名称的 Case 语句来定义别名。

4

1 回答 1

1

您可以在 TSQL 中使用PIVOT将它们作为单独的列来完成此操作,然后您可以在报告单元格中组合这些列,或者您可以使用这些连接方法之一来获取一列中的所有名称。

例如,您可以这样做:

SELECT  SomeTableA.Id,
        STUFF(
          (SELECT ',' + SomeTableB.Names AS [text()]
           FROM SomeTable SomeTableB
           WHERE SomeTableB.Id = SomeTableA.Id
                    FOR XML PATH('')), 1, 1, '' )
        AS ConcatenatedNames
FROM  SomeTable SomeTableA
INNER JOIN AnotherTable
  ON SomeTableA.Id = AnotherTable.SomeId
...
于 2012-08-29T21:31:57.620 回答