2013-08-26 72 views
5

我有一列的表:串聯列值作爲單個值的SQL Server 2005

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

我將聲明一個變量,

DECLARE @ColumnNameList VARCHAR(MAX) 

,我應該找到自己變量下面的值

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

任何人都可以幫我解決這個問題嗎?

在此先感謝。

+0

[如何連接從某列的每個組的所有字符串(HTTP的可能重複://計算器。 com/questions/6579440/how-to-concatenate-each-strings-from-a-specific-column-for-each-group) – Satpal

+0

使用GROUP_CONCAT()方法 –

回答

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

數據在dbo.columnnames是: COLUMNNAMES 值的一個 值的兩個 價值的三大 價值四 價值五

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

輸出:

「價值一,值的兩個,三個值,值四,五價值」