*号查询且想去掉其中的一列?应该怎么写?解决就结
例如: 
 select   *   from   table1 
 假设table1中有字段f1,f2,f3,但我不想要f3应该怎么写?      
 我一定要*,因为字段超多    
 我记得以前在这里看到过有个去除某个字段的方法       
------解决方案--------------------好像有难度 
 其实把所有的字段都列出来也不难啊,然后去掉不想要的就可以了。 
 在查询分析器中可以直接把所有的列名拖动到编辑窗口啊。 
 用鼠标左键,按住列那个文件夹就可以把所有的列名拖出来。跟托表名差不多。
------解决方案--------------------create table tb070209xx 
 (f1 int, f2 int, f3 int 
 ) 
 go 
 create proc pc070209 
 ( 
 	@表名		varchar(100), 
 	@去掉的字段	varchar(100) 
 ) 
 as 
 declare @sql varchar(8000) 
 select @sql =  ' ' 
 select @sql =@sql+ ', '+ name from syscolumns where object_id(@表名)=id and name <> @去掉的字段 
 select @sql =  'select  '+stuff(@sql,1,1, ' ')+ ' from  '+@表名 
 exec (@sql ) 
 print @sql 
 go     
 EXEC pc070209  'tb070209xx ', 'f3 '   
 go     
 drop proc pc070209 
 drop table tb070209xx     
------解决方案--------------------declare @d varchar(100) 
 set @d= 'select  ' 
 select @d=@d+[name]+ ', ' from syscolumns where id=object_id( '表 ')and name <>  '列 '--不要的列 
 set @d=substring(@d,1,len(@d)-1)+ ' from 表 ' 
 exec(@d)
------解决方案--------------------建议还是把字段名列出来,如果写*的话,如果以后表结构修改了(增加了好多字段),你不是还要再来一次?
------解决方案--------------------以authors表为例   
 declare @sql varchar(4000) 
 set @sql= ' '   
 select @sql=@sql+ ',[ '+name+ '] '  
 from syscolumns  
 where id=object_id( 'authors ') and name not in( 'city ', 'address ')--这里写下你不想要的列 
 order by colid   
 set @sql= 'select  '+substring(@sql,2,len(@sql))+ ' from authors ' 
 print @sql 
 exec(@sql)