行列转换问题
create table tb(姓名 varchar(10),课程 varchar(10),分数 int)
insert into tb values('张三','语文',74)
insert into tb values('张三','数学',83)
insert into tb values('张三','物理',93)
insert into tb values('李四','语文',74)
insert into tb values('李四','数学',84)
insert into tb values('李四','物理',94)
go
select * from tb
go
select m.*,n.总分,n.平均分
from
(
select * from tb pivot(max(分数)for 课程in(语文,数学,物理))a
)m,
(
select姓名,sum(分数)总分,cast(avg(分数*1.0)as decimal(18,2))平均分
from tb group by姓名
)n where m.姓名=n.姓名
--sql server 2005 执行会报错,报错提示
消息 102,级别 15,状态 1,第 6 行
'(' 附近有语法错误。,这是什么情况
insert into tb values('张三','语文',74)
insert into tb values('张三','数学',83)
insert into tb values('张三','物理',93)
insert into tb values('李四','语文',74)
insert into tb values('李四','数学',84)
insert into tb values('李四','物理',94)
go
select * from tb
go
select m.*,n.总分,n.平均分
from
(
select * from tb pivot(max(分数)for 课程in(语文,数学,物理))a
)m,
(
select姓名,sum(分数)总分,cast(avg(分数*1.0)as decimal(18,2))平均分
from tb group by姓名
)n where m.姓名=n.姓名
--sql server 2005 执行会报错,报错提示
消息 102,级别 15,状态 1,第 6 行
'(' 附近有语法错误。,这是什么情况
...全文


