首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

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

2011-12-11 
sql 如何选择某列之外的所有列?如果我的一个数据库中有20个列,我想要除某个列之外的19个列,如何作?比如不

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列以外的其他列的集合,然后通过动态语句来完成。
其实自己写也不错。

热点排行