2008-11-22 5 views
1

Je veux sélectionner environ 4-5 lignes d'une table, puis former une chaîne séparée par des espaces.sélectionnez dans la table, puis formez une chaîne séparée par des espaces tout dans une procédure stockée

Tout cela doit être fait dans une procédure stockée (SQL Server 2005).

Est-ce possible? Je vais ensuite utiliser cette chaîne séparée par un espace et l'enregistrer dans une autre table.

Mise à jour

SELECT * 
FROM Users 
WHERE userID < 10 

sortie:

john 
jake 
blah 
sam 

Alors, mettez cela dans un espace chaîne séparée:

'john jake bla sam'

et sauver ce chaîne à une autre ligne dans une table.

Tout cela doit être fait dans une procédure stockée (si possible).

Répondre

0

Je pense que quelque chose comme cela fonctionnera:

DECLARE @whatever varchar(max) -- or varchar(1000) or whatever size 
SET @whatever = '' 

SELECT @whatever = @whatever + MyColumn + ' ' FROM MyTable 
+0

vous ne comprenez pas ce que je veux, je mis à jour avec un exemple pour le rendre plus clair. –

3
DECLARE @firstnames varchar(max) 

SELECT 
    @firstnames = COALESCE(@firstnames + ' ', '') + FirstName 
FROM 
    Users 
WHERE 
    UserId < 10 

INSERT INTO OtherTable (OtherColumn) VALUES (@firstNames) 
+0

wow qui a fonctionné, mais pourquoi? Je suppose que je ne comprends pas SETs correctement encore sheesh! –

Questions connexes