如题:
表a有3个列,id,name,pwd
比如 我现在想只显示2后面两列
除了 select name,pwd from 表a能不能比如 select *(not id) from 表a(想象写法)把查询结果集的一列不显示出来。比如一个产品表20列,我只要一列不显示, 结果select 所有的字段都要写上,实在太麻烦了。
有什么语法可以排除其中一列显示的么。 谢谢

解决方案 »

  1.   

    select * from syscolumns where name<>'xx' and id=object_id('tb') --xx为你不想要的列
      

  2.   

    declare @sql varchar(1000)
    select @sql='select '
    select @sql=@sql+name+',' from syscolumns where id=object_id(N'表a') and name not in ('time')
    select @sql=left(@sql,len(@sql)-1) 
    select @sql=@sql+' from 表a'exec (@sql)
      

  3.   

    拖动表的Columns到查询窗口,所有的列名称就出现在查询窗口,如果不要查询某列,删除就可以了。
      

  4.   

    虽然我也想到可以拖动查询,不过我用的是其他工具 没想到SQLSERVER也行 谢了