2011-02-14 188 views
2

我有以下格式的數據:SQL查詢來格式化結果

24 Asian Fish 
24 Atlantis 
24 Bakery 
24 Bistro 
24 Bon Appetite 
24 Camo 
24 Fish Bones 
25 Black 
38 Black 
38 Burgundy 
38 Dark Green 
38 Navy 
38 Red 

能否請您有什麼建議可以使用查詢到它下面的方式格式化:

24  Asian Fish|Atlantis|Bakery|Bistro|Bon Appetite|Camo|Fish Bones 
25  Black 
38  Black|Burgundy|Dark Green|Navy|Red 

這是SQL Server 2005.

+3

您正在使用哪個數據庫管理系統? – mkb 2011-02-14 15:08:41

+0

如果您發佈代碼,XML或數據樣本,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕({}),以精確地設置格式並進行語法突出顯示! – 2011-02-14 15:09:29

回答

5

由於您沒有指定您正在使用的數據庫系統 - 下面是在SQL Server(2005及更高版本)中執行此操作的一種方法:

SELECT 
    DISTINCT ID, 
    STUFF((SELECT '|' + t2.Fishy 
    FROM dbo.YourTable t2 
    WHERE t2.ID = t.ID 
    FOR XML PATH('')), 1, 1, '') 'Fishes' 
FROM dbo.YourTable t 

這將產生輸出:

ID Fishes 
24 Asian Fish|Atlantis|Bakery|Bistro|Bon Appetite|Camo|Fish Bones 
25 Black 
38 Black|Burgundy|Dark Green|Navy|Red