table1有a1,a2,a3……a50共50个列
如何查询除a25之外的所有列??
------解决方案--------------------
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')
这样试试
------解决方案--------------------
如果需要一直读取这样的一个表格,那么建立一个view好了。
至于需要排除的列,你可以表格右键,选取1000行,让数据库自动生成脚本,你把不需要的列剔出就行。我都是这么干的,:)
------解决方案--------------------
使用動態語句。
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')