Create table #T (Class varchar(2),CallDate datetime, CallCount int)
insert into #T select '1','2005-8-8',40
union all select '1','2005-8-7',6
union all select '2','2005-8-8',77
union all select '3','2005-8-9',33
union all select '3','2005-8-8',9
union all select '3','2005-8-7',21
--动态SQL
declare @s varchar(8000)
set @s='select CallDate '
select @s=@s+',[CallCount'+Class+']=max(case when Class='''+Class+''' then CallCount else 0 end)'
from #T
group by Class
set @s=@s+' from #T group by CallDate order by CallDate desc '
exec(@s)
drop table #T
完全行列转换
Create table #ta(xm varchar(10),v int ,haha int , pos int)
Go
Insert into #ta
select '?目1',15,22,1 union all
select '?目2',67,23,1 union all
select '?目3',8,24,1 union all
select 'xm4',3,25,1
Go
--Start
declare @s varchar(1000)
select @s = isnull(@s +',','')+ '['+xm+']= '+convert(nvarchar(10),v)
from (select xm,v from #ta) a
--exec('select '+@s + ' from ta group by pos')
set @s='select '+@s + ' from #ta group by pos'
--select @s
declare @s1 varchar(1000)
select @s1 = isnull(@s1 +' ,','')+ ' ['+xm+']= '+ convert(nvarchar(10),haha)
from (select xm, haha from #ta) a
set @s1='select '+@s1 + ' from #ta group by pos'
--exec('select '+@s1 + ' from ta group by pos')
exec('select * from ( '+@s+' union all '+@s1 + ' ) dd ')
Drop table #ta
分享到:
相关推荐
sql试题及答案,sql 行列转换,sql存储过程实例
SQL 行列转换 Pivot UnPivot SQL 行列转换是指将表格中的行数据转换为列数据,或者将列数据转换为行数据。Pivot 和 UnPivot 是 SQL Server 2005 中引入的两个语法,用于实现行列转换。 Pivot Pivot 语法的主要...
sql行列转换扩展 明源内部学习资料
oracle sql行列转换
SQL行列转换
sql行列转换、一个字段包含另一个字段.sql
sql行列转换[借鉴].pdf
SQL语句行列转换(附带数据库、表、视图操作) ,不错的文档。
一个简单的SQL 行列转换 Author: eaglet 在数据库开发中经常会遇到行列转换的问题,比如下面的问题,部门,员工和员工类型三张表,我们要统计类似这样的列表 部门编号 部门名称 合计 正式员工 临时员工 辞退员工 1 A...
sql server 行列转换.
假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 */ ----------------------------------------------------------------...
动态 实现 SQL 2008行列转换的pivot
1. 列转行 2. 行转列 3. 多列转换成字符串 4. 多行转换成字符串 5. 字符串转换成多列 6. 字符串转换成多行
java语言 数据库 mysql数据库 sql行列转换的例子 详解
Sql语句实现表的行列转换,行转列,列转行
sqlserver行列转换,实现行列转换,全部脚本,测试通过
sql行列互相转换,动态为查询结果添加一行汇总行和求和列