2010-07-06 87 views
1

我在那裏的數據是一樣如何連接使用SQL Server

Data 

a 
b 
c 

表我需要寫一個SQL查詢,使下面的輸出

Data 

abc 

如何做同樣的通過在SQL Server 2000中使用 謝謝

回答

1

我不知道如何使用XML RAW來完成。儘管這種方法在SQL2000中有效。

DECLARE @Data varchar(8000) 
set @Data ='' 
select @Data = @Data + Data 
FROM @t 
ORDER BY Data 

SELECT @Data 

編輯哦,我剛纔看到這裏凱德給你一個鏈接您的其他問題。該鏈接上的KM's answer是否適合您?

KM的測試查詢

--combine parent and child, children are CSV onto parent row 
CREATE TABLE #TableA (RowID int, Value1 varchar(5), Value2 varchar(5)) 
INSERT INTO #TableA VALUES (1,'aaaaa','A') 
INSERT INTO #TableA VALUES (2,'bbbbb','B') 
INSERT INTO #TableA VALUES (3,'ccccc','C') 

CREATE TABLE #TableB (RowID int, TypeOf varchar(10)) 
INSERT INTO #TableB VALUES (1,'wood') 
INSERT INTO #TableB VALUES (2,'wood') 
INSERT INTO #TableB VALUES (2,'steel') 
INSERT INTO #TableB VALUES (2,'rock') 
INSERT INTO #TableB VALUES (3,'plastic') 
INSERT INTO #TableB VALUES (3,'paper') 

SELECT 
    a.*,dt.CombinedValue 
    FROM #TableA  a 
     LEFT OUTER JOIN (SELECT 
          c1.RowID 
           ,STUFF(REPLACE(REPLACE(
              (SELECT 
               ', ' + TypeOf as value 
               FROM (SELECT 
                 a.RowID,a.Value1,a.Value2,b.TypeOf 
                 FROM #TableA     a 
                  LEFT OUTER JOIN #TableB b ON a.RowID=b.RowID 
                ) c2 
               WHERE c2.rowid=c1.rowid 
               ORDER BY c1.RowID, TypeOf 
               FOR XML RAW 
             ) 
             ,'<row value="',''),'"/>','') 
            , 1, 2, '') AS CombinedValue 
          FROM (SELECT 
             a.RowID,a.Value1,a.Value2,b.TypeOf 
             FROM #TableA     a 
              LEFT OUTER JOIN #TableB b ON a.RowID=b.RowID 
           ) c1 
          GROUP BY RowID 
         ) dt ON a.RowID=dt.RowID 
+0

其實可能是我不能夠把知識管理的解決方案正常在我的計劃..你可以請幫助我 – learner 2010-07-06 06:50:34

+0

沒有安裝SQL2000做。您可以確認KM的答案中的代碼是否可以在SQL2000上運行,但未經修改? – 2010-07-06 07:08:44

+0

這是什麼'' – learner 2010-07-06 11:13:34