2013-08-26 9 views
5

Mam tabeli z kolumną:wartości kolumny oddzielając jako pojedyncza wartość SQL Server 2005

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

będę zadeklarowania zmiennej

DECLARE @ColumnNameList VARCHAR(MAX) 

i muszę znaleźć wartość poniżej w moim zmiennej

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

Czy ktoś może mi w tym pomóc?

Z góry dziękuję.

+0

możliwe duplikat [Jak złączyć wszystkie ciągi z pewnej kolumny dla każdej grupy] (http: // stackoverflow. com/questions/6579440/how-to-concatenate-all-strings-from-a-certain-column-for-each-group) – Satpal

+0

Użyj GROUP_CONCAT() Metoda –

Odpowiedz

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

danych w dbo.columnnames jest: columnnames Wartość Jeden Wartość Dwa Trzy Wartość Wartość Wartość Cztery Pięć

KOD:

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, '') +'''' 

wyjściowa:

'Wartość One Wartość Dwa, Trzy Value, Value Cztery wartość pięć'

Powiązane problemy