使用SQL 2005,我试图在我的数据库中的Orders表上运行查询。每个订单都可以有多个“评论”。
我希望获得单个订单记录,并将所有注释放在一个字段中。
以下是我正在尝试做的伪代码:
SELECT
Orders.Name,
Orders.Date,
(SELECT Comment += Comment FROM OrderComments WHERE OrderComments.OrderId = Orders.OrderId)
FROM Orders
我希望订单评论最终成为我的查询中的一个字段,并且能够通过日期和逗号之类的内容来分隔结果行。有没有办法将子查询中的结果行合并到一个字段中?
所以,如果有:
**Orders:**
Order Id(int): 1
Order Name(varchar): First Order
**OrderComments:**
OrderId(int): 1
Comment(text): First order, yay
OrderId(int): 1
Comment(text): Just a random comment
我想最终得到一个像这样的行(在这种情况下是一个分号分隔符): “First Order”,“10/25/2010”,“First order,yay;只是随机评论”。
感谢您的帮助!
答案 0 :(得分:1)
用于xml:
SELECT
Orders.Name,
Orders.Date,
(SELECT Comment +', ' FROM OrderComments WHERE OrderComments.OrderId = Orders.OrderId FOR XML PATH(''))
FROM Orders