请教哈各位大侠,在一张表中如下面:ID A B C
1 78 86 58
2 65 56 89
3 78 98 56
现在我要得到如下表:
ID 1 2 3
A 78 65 78
B 86 56 98
C 58 89 56
请问我要用SQL语句如何实现??
1 78 86 58
2 65 56 89
3 78 98 56
现在我要得到如下表:
ID 1 2 3
A 78 65 78
B 86 56 98
C 58 89 56
请问我要用SQL语句如何实现??
解决方案 »
- sql占用了近2g的内存,有什么办法进行优化?谢谢!
- 请教关于执行存储过程出现错误的问题
- 写一个更新语句,在同一张表内,结构如下
- 寻SQL SERVER 2008 R2达人,基础问题(急)
- 在SQL Sever2000中出现 数据库 日志已满
- 在一台机器上用 osql 备份好的数据库的文件,能不能恢复到另外一台机器上?
- 如何使用全文检索搜索没有意义的中文短句?
- SQL执行非常之慢,求解??(在线等候)
- 如何在visual basic 6.0中使用数据集向sql server的表添加记录
- 了解SQLDMO的高手快来帮帮呀,对于你们很简单,但高分奉上!!!!!急!急!急!急!!!!!
- 这样的数据库应该创建什么索引?怎么创建索引?
- MSSQL-----高手进呀...再线急等!!!
insert into t1
select 1,78,86,58
union select 2,65,56,89
union select 3,78,98,56
union select 5,10,29,16
union select 9,38,68,47
go
--select * from t1
declare @sql varchar(4000)
set @sql='create table t2(id varchar(20)'
select @sql=@sql+',['+cast(id as varchar)+'] int' from t1
set @sql=@sql+')'
exec(@sql)
declare @colname varchar(20),@rowstring varchar(1000),@sql2 nvarchar(4000)
declare cur cursor for select name from syscolumns where id=object_id('t1') and colid>1
open cur
fetch next from cur into @colname
while @@fetch_status=0
begin
set @sql='insert into t2 select '''+@colname+''''
set @sql2='select @sql=@sql+'',''+cast('+@colname+' as varchar) from t1 '
exec sp_executesql @sql2,N'@sql varchar(4000) out',@sql out
exec(@sql)
fetch next from cur into @colname
end
deallocate cur
select * from t2
go
drop table t1,t2