http://expert.csdn.net/Expert/topic/2270/2270480.xml?temp=.9384424
/**** 多列中的某一列不查 
declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+',' from syscolumns where id=object_id('你的表名') and name<>'你不要的列名'
set @=left(@,len(@)-1)exec('select '+@+' from 你的表名')本例中可以如下:
declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+',' from syscolumns where id=object_id('table2') and name<>'id'
set @=left(@,len(@)-1)
exec('insert into table1 select ' + @ + ' from table2')