2010-10-25 47 views
2

使用SQL 2005,我試圖在我的數據庫中的訂單表上運行查詢。每個訂單可以有多個「評論」。行到查詢中的字段級別?

我想獲得單個訂單記錄,並將所有註釋放在一個字段中。

這裏是我想要做的僞代碼:

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 

我想結束了這樣的行(在這種情況下分號分隔符): 「的一階」,「10/25/2010」, 「第一順序,是的,只是一個隨機評論」。

謝謝你的幫助!

+0

什麼版本的SQL Server? 'ORDERCOMMENTS'表中有哪些列 - 包含數據類型? – 2010-10-25 16:07:13

回答

1

用於XML:

SELECT 
Orders.Name, 
Orders.Date, 
(SELECT Comment +', ' FROM OrderComments WHERE OrderComments.OrderId = Orders.OrderId FOR XML PATH('')) 
FROM Orders 
+0

完美!謝謝! – user53885 2010-10-25 16:36:32