table1有a1,a2,a3……a50共50个列如何查询除a25之外的所有列??

解决方案 »

  1.   


    declare @sql varchar(4000)
    select @sql=isnull(@sql,'')+','+name from sys.columns 
    where object_id in (select object_id from sys.tables where name ='table1') and name !='a25'
    set @sql=STUFF(@sql,1,1,'')
    exec ('select ' + @sql+' from table1')
    这样试试
      

  2.   

    如果需要一直读取这样的一个表格,那么建立一个view好了。至于需要排除的列,你可以表格右键,选取1000行,让数据库自动生成脚本,你把不需要的列剔出就行。我都是这么干的,:)
      

  3.   

    使用動態語句。
    Declare @sql nvarchar(max)Select @sql=isnull(@sql+',','')+quotename(name) From sys.syscolumns
    Where id=object_id('table1')
       And name Not in('a25')Exec ('Select '+@sql+' From table1')