sql server 2005 中的列置换函数用法(pivot 字段)
2007-04-02 16:08
561 查看
行列置换(2000中的交叉表.2005中的处理方法.及相关合计字段列的处理.)
declare @t table(name varchar(10),object varchar(10),score int)
insert into @t select 'a','EN',89
union all select 'a','CH',78
union all select 'a','HO',99
union all select 'b','EN',34
union all select 'b','CH',88
union all select 'b','HO',66
select ta.*,tb.[sum] from
(
select * from @t
pivot
(sum(score)
for object in ([EN],[CH],[HO])
)
as pt
)ta left join
(
select name,[sum]=sum(score)
from @t
group by name
)tb
on ta.name=tb.name
/**//*
name EN CH HO sum
---------- ----------- ----------- ----------- -----------
a 89 78 99 266
b 34 88 66 188
(2 行受影响)
*/
declare @t table(name varchar(10),object varchar(10),score int)
insert into @t select 'a','EN',89
union all select 'a','CH',78
union all select 'a','HO',99
union all select 'b','EN',34
union all select 'b','CH',88
union all select 'b','HO',66
select ta.*,tb.[sum] from
(
select * from @t
pivot
(sum(score)
for object in ([EN],[CH],[HO])
)
as pt
)ta left join
(
select name,[sum]=sum(score)
from @t
group by name
)tb
on ta.name=tb.name
/**//*
name EN CH HO sum
---------- ----------- ----------- ----------- -----------
a 89 78 99 266
b 34 88 66 188
(2 行受影响)
*/
相关文章推荐
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005 中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005 中的分区函数用法(partition by 字段)
- sql server 2005 中的分区函数用法(partition by 字段)
- sql server 2005 中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005中的分区函数用法(partition by 字段)
- sql server 2005 replace 函数用法
- SQL Server 2005 Pivot的用法
- SQL Server 2005 中 ROW_NUMBER() 函数的简单用法
- pivot的用法(SQL SERVER 2005以上)
- sql server 2005 使用clr函数压缩ntext类型字段
- SQL SERVER 2005 中 PIVOT 和 UNPIVOT 的用法