2009-11-05 4 views

Répondre

1

Vous pouvez utiliser la fonction Coalesce pour trier des nombres dans une liste. Espérons que cela vous donne un début:

Declare @T as Table (Col1 varchar(35), Col2 int) 

Insert into @T(Col1, Col2) 
Select 'Test', 1 

Insert into @T(Col1, Col2) 
Select 'Test', 2 

Insert into @T(Col1, Col2) 
Select 'Test', 3 


DECLARE @X varchar(200) 

SELECT @X = COALESCE(@X + ' - ', '') + Cast(Col2 as varchar(5)) 
From @T 

Select @X 
+0

Pouvez-vous interroger sur une seule ligne dans le serveur de requêtes SQL 2005? –

+0

Vous devez créer une fonction pour interroger la table pour toutes les valeurs col1. Ensuite, faites quelque chose comme ceci pour utiliser la fonction: Sélectionnez Distinct dbo.Function_List (Col1) De testTable –

1

Essayez:

SELECT x.column1, 
     STUFF(SELECT ' - ' + t.column2 
       FROM TEST t 
       WHERE t.column1 = x.column1 
      ORDER BY t.column1 
      FOR XML PATH(''), 1, 1, '') 
    FROM TEST x 

Référence: STUFF

+0

u peut utiliser ces données par exemple essai | 1 test | 2 test | 3 –

+0

qu'en est-il de FOR XML PATH ('') –