我有一张表  table1  里面的列可能是未知的。有好多列。可能会有几十个。都是有数据的。
于是我用一个条sql语句查出了所有的列名
 SELECT name
FROM syscolumns
WHERE (id =
  (SELECT id
 FROM sysobjects
 WHERE (name = 'table1')))可是我如何再根据这个列名结果,查出每一列中的数据呢?
就是
select name(上面查出的列名的结果集) from table1希望大侠们赐教

解决方案 »

  1.   

    select * from table1 不行么?为什么搞这么复杂?
      

  2.   

    列名对象不能用变量显示,只能用动态sql拼接字符获得如
    set @a='a,b,c'
    exec('select '+@a+' from tb')
      

  3.   

     declare @name varchar(1000)
     set @name=''
     select @name=@name+name+',' from sys.columns where object_id=OBJECT_ID('tbname')
     set @name=left(@name,LEN(@name)-1)
     set @name='select '+@name+' from tbname'
     exec (@name)