日期:2014-05-18  浏览次数:20489 次

select 排除列的问题
表a有列   a1,a2,a3,a4……
现在想查询出除了a1列外其他所有列,除了这样写
select   a2,a3,a4....   from   a
之外还有其他更简便写法吗?

------解决方案--------------------
用动态:
declare @sql varchar(4000)
select @sql=isnull(@sql, ' ')+ ',[ '+name+ '] ' from syscolumns where id=object_id( '表名 ') and name!= 'a1 '
set @sql=left(@sql,len(@sql)-1)
exec( 'select '+@sql+ ' from 表名 ')
------解决方案--------------------
别的办法~~有是有~~~~但你是为了简便~~~而不是为了解脱问题~~~所以.......
提示:
select name from syscolumns where id=object_id( '表名 ')