我有连接多个表的 T-SQL 查询。我在 SSRS 中使用它作为数据集查询。我只选择两列,ID 和名称。我有三个具有相同“ID”值但三个不同“名称”值的记录。在 SSRS 中,我得到了第一个“名称”值,我需要将所有三个具有相同 ID 的值连接起来,并将其放在表格的一个单元格中。
我该怎么做呢?
我正在使用查找来组合多维数据集 + sql 直接从表中提取 ID,但使用名称的 Case 语句来定义别名。
我有连接多个表的 T-SQL 查询。我在 SSRS 中使用它作为数据集查询。我只选择两列,ID 和名称。我有三个具有相同“ID”值但三个不同“名称”值的记录。在 SSRS 中,我得到了第一个“名称”值,我需要将所有三个具有相同 ID 的值连接起来,并将其放在表格的一个单元格中。
我该怎么做呢?
我正在使用查找来组合多维数据集 + sql 直接从表中提取 ID,但使用名称的 Case 语句来定义别名。
您可以在 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
...