2013-08-26 4 views
5

Ich habe eine Tabelle mit einer Spalte:Concatenate Spaltenwerte als Einzelwert SQL Server 2005

|-------------| 
| ColumnName | 
|-------------| 
| Value One | 
| Value Two | 
| Value Three | 
| Value Four | 
| Value Five | 
|-------------| 

ich eine Variable deklarieren wird,

DECLARE @ColumnNameList VARCHAR(MAX) 

und ich sollte den unter Wert in meiner Variable finden

'Value One,Value Two,Value Three,Value Four,Value Five' 

Kann mir jemand dabei helfen?

Vielen Dank im Voraus.

+0

möglich Duplikat (http [Wie für jede Gruppe alle Strings aus einer bestimmten Spalte verketten]: // Stackoverflow. com/questions/6579440/how-to-concatenate-all-strings-aus-einer-bestimmten-Spalte-für-jede-Gruppe) – Satpal

+0

Verwenden Sie GROUP_CONCAT() -Methode –

Antwort

5
SELECT @ColumnNameList = STUFF 
(
    SELECT ',' + ColumnName 
    FROM TableName 
    ORDER BY ColumnName 
    FOR XML PATH('root') 
), 1, 1, '' 
1
SELECT @ColumnNameList = coalesce(@ColumnNameList + ',' + ColumnName, ColumnName) 
FROM <table> 
SELECT @ColumnNameList 
-1

Daten in dbo.columnnames ist: column Wert Eine Wert Zwei Wert Drei Wert Vier Wert Fünf

Code:

declare @lv_table table(column_values varchar(100)) 

declare @product_v varchar(max) 

insert into @lv_table 

select * from dbo.columnnames 


select ''''+ 
    Stuff(
     (
    SELECT ',' + column_values 
    FROM @lv_table 
    FOR XML PATH('') 
    ), 1, 1, '') +'''' 

Ausgabe:

‚Wert Eins, Zwei Wert, Wert Drei, Wert Vier, Wert Five‘