declare @count int
set @count = 1
while @count <11
begin
exec('select ggg_'+ltrim(@count)+' from test')
end
go
set @count = 1
while @count <11
begin
exec('select ggg_'+ltrim(@count)+' from test')
end
go
解决方案 »
- [MSSQL小白问题]如果用中文来命名表明和字段名会产生什么影响
- 这个sql排序怎么写?
- 请教 求百分比
- 求一个简单的SQL语句
- 事务日志备份失败,数据库处于RESTORING状态,怎么办?
- 请于触发器的问题 请大虾帮忙
- 一个奇怪的问题?
- 大虾帮推荐一本SQL方面的关于数据库性能优化、锁与事务方面的书
- 链接服务器的问题!急
- 关于服务器的时间,奇怪的问题请教……
- ******类似于消除重复记录的问题?
- 向 邹老大,all,dawugui,小梁子......求组--关于window2003服务器上的sql2000数据库端口被限制问题?只能本机访问,如何在服务器上设置成别的ip地址的机器也可以访问啊,
declare @count int
declare @Str varchar(20)set @count = 1
while @count <8
begin
set @Str = 'select ggg_' +ltrim(@count)
exec(@Str+' from test')
set @count=@count+1end @count要自加,还有就是不能到11,你表里就只有到8,查询出来ggg_9...时会出现问题
ggg_1 varchar(100),
ggg_2 varchar(100),
ggg_3 varchar(100),
ggg_4 varchar(100),
ggg_5 varchar(100),
ggg_6 varchar(100),
ggg_7 varchar(100),
ggg_8 varchar(100)
)
declare @count as int
declare @sql as varchar(1000)
set @sql = 'select '
set @count = 1
while @count <= 8
begin
set @sql = @sql + 'ggg_' + cast(@count as varchar) + ','
set @count = @count + 1
end set @sql = left(@sql , len(@sql) - 1) + ' from test'
exec(@sql)drop table test/*
ggg_1 ggg_2 ggg_3 ggg_4 ggg_5 ggg_6 ggg_7 ggg_8
---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- */