http://expert.csdn.net/Expert/topic/2440/2440306.xml?temp=.6180231
解决方案 »
- SqlServer2005在win7安装问题
- sql2005数据库恢复问题,高手帮忙看下.谢谢了.没分了,大家见谅
- 求一SQL语句,类似分组统计
- 问个类似行转列的问题,谢谢!!!!!!!!!
- 请问如何获知一个表里的索引是否存在呢?不存在则创建?
- SQL Server2000,数据修改后,修改后的数据全部消失
- 有关上个月工资的计算问题,没有好的方法,请高手指点!
- [求助]怎样取得在线用户?
- 知道这里高人多,也热情,请帮忙回答一位网友向我提的问题吧,谢谢了。up有分。
- 对于ntext或者text类型的字段不能够用len()函数,该怎么办?
- 该用什么类型的字段?
- 关于sql 语句的优化!谢谢各位大侠!
union all
select 'v2' 点名,时间,v2 值 from 表1
union all
select 'v3' 点名,时间,v3 值 from 表1
...
declare @a int
declare @d datetime
declare @b int
declare @c varchar(20)
set @d='2002-2-2'
set @a=1
while @a<1024
begin
set @c=col_name(object_id(表一),@a
set @a=@a+1
set @b=(select @c from 表一)
insert into t1 values(@c,@d,@b)
end
declare @s1 varchar(8000),@s2 varchar(8000)
,@s3 varchar(8000),@s4 varchar(8000),@s5 varchar(8000)
,@i varchar(10)
select @s1='',@s2='',@s3='',@s4='',@s5='',@i='0'
select @s1=@s1+',@'+@i+' varchar(8000)'
,@s2=@s2+',@'+@i+'=''select 点名='''''
+name+''''',时间,值=['
+name+'] from 表1'''
,@s3=@s3+'+'' union all ''+@'+@i
,@i=cast(@i as int)+1
from syscolumns
where object_id('表1')=id and name<>'时间'select @s1=substring(@s1,2,8000)
,@s2=substring(@s2,2,8000)
,@s3=substring(@s3,16,8000)exec('declare '+@s1+'
select '+@s2+'
exec(''select * from(''+'+@s3+'+'')a order by 点名'')')
go
create table 表1(时间 varchar(10),v1 decimal(20,2),v2 decimal(20,1),v3 decimal(20,1))
insert 表1 values('2002-2-2',10.23,2.3,3.4)
go--查询处理
declare @s1 varchar(8000),@s2 varchar(8000)
,@s3 varchar(8000),@s4 varchar(8000),@s5 varchar(8000)
,@i varchar(10)
select @s1='',@s2='',@s3='',@s4='',@s5='',@i='0'
select @s1=@s1+',@'+@i+' varchar(8000)'
,@s2=@s2+',@'+@i+'=''select 点名='''''
+name+''''',时间,值=['
+name+'] from 表1'''
,@s3=@s3+'+'' union all ''+@'+@i
,@i=cast(@i as int)+1
from syscolumns
where object_id('表1')=id and name<>'时间'select @s1=substring(@s1,2,8000)
,@s2=substring(@s2,2,8000)
,@s3=substring(@s3,16,8000)exec('declare '+@s1+'
select '+@s2+'
exec(''select * from(''+'+@s3+'+'')a order by 点名'')')
go--删除测试环境
drop table 表1/*--测试结果点名 时间 值
---- ---------- -----------------------
v1 2002-2-2 10.23
v2 2002-2-2 2.30
v3 2002-2-2 3.40(所影响的行数为 3 行)
--*/
鲜花(问题)到了,结贴吧 zjcxc(: 邹建 :)回答这样的问题,已经太多了
(冒风险建议):在提问题的时候先“搜索”一下,(这样可以省分) :)