+ -
当前位置:首页 → 问答吧 → SQL里怎么查询一个表里除了某列之外的其他所有列的数据

SQL里怎么查询一个表里除了某列之外的其他所有列的数据

时间:2011-11-24

来源:互联网

SQL里怎么查询一个表里除了某列之外的其他所有列的数据
比如有个table 字段a,d,k,..y 我要把记录显示出来 但是不要显示a字段那一列

作者: ouyang303   发布时间: 2011-11-24

SQL code
select d,k,...y from table

作者: qianjin036a   发布时间: 2011-11-24

SQL code
declare @col varchar(1000)
set @col=''
select @col=@col+','+name from syscolumns where id=object_id('表名') and name<>'排除的字段名' order by colid
set @col=stuff(@col,1,1,'')
exec('select '+@col+' from 表名')

作者: FlySQL   发布时间: 2011-11-24

老实写吧
如果多到写的手软时候
就拼系统表sys.columns

作者: sql_sf   发布时间: 2011-11-24

引用 2 楼 flysql 的回复:
SQL code
declare @col varchar(1000)
set @col=''
select @col=@col+','+name from syscolumns where id=object_id('表名') and name<>'排除的字段名' order by colid
set @col=stuff(@col,1,1,'')
exec('select '+@co……

不用动态SQL语句怎么实现?

作者: ouyang303   发布时间: 2011-11-24

可以用动态语句,从系统表视图中 取出table包含的列,除了不要显示的,拼接为select语句字符串
然后exec(sql)

作者: zjl8008   发布时间: 2011-11-24

引用 3 楼 sql_sf 的回复:
老实写吧
如果多到写的手软时候
就拼系统表sys.columns

好几百个字段啊。。。

作者: ouyang303   发布时间: 2011-11-24

引用 4 楼 ouyang303 的回复:
引用 2 楼 flysql 的回复:
SQL code
declare @col varchar(1000)
set @col=''
select @col=@col+','+name from syscolumns where id=object_id('表名') and name<>'排除的字段名' order by colid
set @col=stuff(@col,1,1,'')……


不用动态就慢慢一个一个地写

作者: FlySQL   发布时间: 2011-11-24

引用 4 楼 ouyang303 的回复:
引用 2 楼 flysql 的回复:
SQL code
declare @col varchar(1000)
set @col=''
select @col=@col+','+name from syscolumns where id=object_id('表名') and name<>'排除的字段名' order by colid
set @col=stuff(@col,1,1,'')……

表--右键--生成查询脚本--删除不要的列

作者: sql_sf   发布时间: 2011-11-24

引用 6 楼 ouyang303 的回复:
引用 3 楼 sql_sf 的回复:
老实写吧
如果多到写的手软时候
就拼系统表sys.columns

好几百个字段啊。。。

主要是两张自增长的表,我想用INSERT INTO SELECT,想把主键排除掉,不然老报错,设置IDENTITY_INSERT 为ON都不行

作者: ouyang303   发布时间: 2011-11-24

引用 8 楼 sql_sf 的回复:
引用 4 楼 ouyang303 的回复:
引用 2 楼 flysql 的回复:
SQL code
declare @col varchar(1000)
set @col=''
select @col=@col+','+name from syscolumns where id=object_id('表名') and name<>'排除的字段名' order by colid
set ……


使用文本显示结果,执行 select * from tb where 1=2 
把空格替换成, 去掉多余的字段

作者: FlySQL   发布时间: 2011-11-24

表上点右键-编写表脚本为-Insert到-新查询编辑器窗口

作者: fuxiyang   发布时间: 2011-11-24