declare @Str varchar(3000)
set @str='select '
select @str=@str+',sum(case 名称 when '''+名称+''' then 合计 else 0 end)['+名称+']'
from (select distinct 名称 from 表)a
set @str=@str+' from 表 group by 名称'
exec(@str)
set @str='select '
select @str=@str+',sum(case 名称 when '''+名称+''' then 合计 else 0 end)['+名称+']'
from (select distinct 名称 from 表)a
set @str=@str+' from 表 group by 名称'
exec(@str)
解决方案 »
- 请教SQL2005 按照float类型查询数据问题??
- 求SQL语句
- 一简单sql
- ===============求一句sql,判断一个字段===========
- sql server 跨数据库插入数据
- 求sql语句
- 数据库的操作权限
- JDBC 连接 sqlserver 错误:[Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transactio
- 有什么方法能实现数据库大小的检查,并且控制数据库大小!
- SQL Server 无法将“HCMISDB”配置为分发服务器,无法列出目录内容。请指定有效的目标路径。
- 如何通过外联结,将三个表连接起来(看看代码,哪里错了?)
- 两表查询,在线等。
---------------------
declare @Str varchar(8000)
set @str=''
select @str=@str+',sum(case 名称 when '''+名称+''' then 合计 else 0 end)['+名称+']'
from (select distinct 名称 from 表)a
set @str=stuff(@str,1,1,'')
exec('select '+@str+' from 表 group by 名称')
go
declare @Str varchar(8000)
set @str=''
select @str=@str+',sum(case 名称 when '''+名称+''' then 合计 else 0 end as '+名称+')
from (select distinct 名称 from 表)a
set @str=stuff(@str,1,1,'')
exec('select '+@str+' from 表 group by 名称')
go