Je ne sais pas comment/si cela peut être fait avec XML RAW. Cette approche fonctionne dans SQL2000 cependant.
DECLARE @Data varchar(8000)
set @Data =''
select @Data = @Data + Data
FROM @t
ORDER BY Data
SELECT @Data
Modifier Oh, je viens de voir votre autre question où Cade vous a donné un lien. Est-ce que KM's answer sur ce lien ne fonctionne pas pour vous?
la requête de test 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
peut être fait que je ne suis pas en mesure de mettre la solution de KM correctement dans mon programme .. pourriez-vous aider pls – learner
Je n'ai pas SQL2000 installé. Pouvez-vous confirmer si le code de la réponse de KM fonctionne sur SQL2000 lorsque vous l'exécutez non modifié? –
qu'est-ce que '
' –
learner