我有一个结果集应该作为一行拉入报表。但是,可能有多个买方与订单关联,这些买方表示为数据库中的新行。例如,我有以下内容......
SELECT
O.OrdersID
,BS.LastName
FROM
Orders O
LEFT JOIN
BuyerSeller BS ON O.OrdersID = BS.OrdersID
如果有多个买家,它将返回以下结果集:
OrdersID | LastName
----------------------
1 | Tester1
1 | Tester2
1 | Tester3
我希望它返回如下(以列分隔):
OrdersID | LastName
---------------------------------------
1 | Tester1, Tester2, Tester3
感谢您的帮助。
答案 0 :(得分:0)
这是你的答案。
SELECT DISTINCT Ord.OrderID , substring
((SELECT ',' + BS.LastName AS [text()]
FROM Orders O LEFT JOIN BuyerSeller BS ON O.OrderID = BS.OrderID
ORDER BY O.OrderID FOR XML PATH('')), 2, 1000) LastName
FROM Orders ord
这将返回预期的输出。
答案 1 :(得分:0)
要在SSRS
中完成此操作,您需要
创建一个表,其中OrdersID
为行组
确保组内有无详细信息。如果有一个删除它而不删除行。
为LastName
写下费用:
=Join(Lookupset(Fields!OrdersID.Value, Fields!OrdersID.Value, Fields!LastName.Value, "myDataSet"), ", ")
请记住,SSRS 区分大小写。