MS SQL 2005.T-SQL。
我发现很多好的解决方案如何拆分字符串。但是如何将内部SELECT的结果组合为字符串(例如,使用逗号分隔符)?代码:
SELECT b.date,
(SELECT o.number FROM order o WHERE o.number = m.number ) AS orderList
FROM bank b, movemoney m
WHERE b.code = m.code
表'movemoney'由表'order'中的零或几个订单组成。如何在一个SELECT语句中将'orderList'创建为字符串?
答案 0 :(得分:1)
如果需要,您还可以将XML PATH放入SELECT中的子查询中 我只是喜欢这个结构:
SELECT
b.date,
SUBSTRING(CAST(foo.bar AS varchar(8000)), 2, 7999) AS orderList
FROM
bank b
JOIN
movemoney m ON b.code = m.code
OUTER APPLY
(
SELECT
',' + concatenatedid
FROM
order o
WHERE
o.number = m.number
FOR XML PATH ('')
) foo(bar)