code=SQL]
DECLARE @SQLStr NVARCHAR(1024)
SET @SQLStr = ''
SELECT @SQLStr = @SQLStr  + [a].[Column] + ', '
  FROM 
    (SELECT DISTINCT Region as [Column]
      FROM RawData  ) as a
select @sqlstr as result
[[/code]
结果为:
result
MidWest, NorthEast, South, West, 我就不清楚[a].[Column] 是个啥东西。按道理说一个列的集合。 但是 ‘,’号怎么自己插入每个字段之间了呢?

解决方案 »

  1.   

    表里面的列名,实际上就是彪RawData里面的列Region中的数据。
      

  2.   

    a 是 (SELECT DISTINCT Region as [Column]
      FROM RawData ) 结果的别名 
    a.Column 表示a表的Column列
      

  3.   

    动态语句写法,自己学习理解了就简单了
    [a]是别名,[Column]是字段名,这个理解不复杂
      

  4.   

    是分了多遍执行。
    查询出一个结果,又斌值给@sql,
    再循环一次
      

  5.   

    是分了多遍执行。
    查询出一个结果,又斌值给@sql,
    再循环一次