读书人

sql 怎么选择某列之外的所有列

发布时间: 2011-12-11 23:19:43 作者: rapoo

sql 如何选择某列之外的所有列?
如果我的一个数据库中有20个列, 我想要除某个列之外的19个列,如何作?比如不要的这个列为a? 难不成19个列写一遍?不会吧.

[解决办法]
比如下面的语句从表“Test”中取出所有除去“ID”字段的所有字段列表


select a.name
from syscolumns as a
inner join sysobjects as b on a.id = b.id
where b.name = 'test ' and a.name <> 'id '

可以组成一个字符串来表示字段列表:

declare @strList varchar(4000)
set @strList = ' '

select @strList = @strList + a.name + ', '
from syscolumns as a
inner join sysobjects as b on a.id = b.id
where b.name = 'test ' and a.name <> 'id '

set @strList = left(@strList, len(@strList)-1)

select @strList

[解决办法]
select * from syscolumns
where id=object_id( 'tablename ') and name <> 'a '
获取到的就是tablename表中除了a列以外的其他列的集合,然后通过动态语句来完成。
其实自己写也不错。

读书人网 >VB Dotnet

热点推荐