我有一个包含列的表:
|-------------|
| 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 :(得分:5)
SELECT @ColumnNameList = STUFF
(
SELECT ',' + ColumnName
FROM TableName
ORDER BY ColumnName
FOR XML PATH('root')
), 1, 1, ''
答案 1 :(得分:1)
SELECT @ColumnNameList = coalesce(@ColumnNameList + ',' + ColumnName, ColumnName)
FROM <table>
SELECT @ColumnNameList
答案 2 :(得分:-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, '') +''''
输出:
&#39;价值一,价值二,价值三,价值四,价值五&#39;