打印本文 打印本文 关闭窗口 关闭窗口
SQL交叉表实例
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3007  更新时间:2007/11/14 10:59:10  文章录入:mintao  责任编辑:mintao

交叉表语句的实现:

--用于:交叉表的列数是确定的

select name,sum(case subject when ''''数学'''' then source else 0 end) as ''''数学'''',

          sum(case subject when ''''英语'''' then source else 0 end) as ''''英语'''',

            sum(case subject when ''''语文'''' then source else 0 end) as ''''语文''''

from test

group by name

 

 

--用于:交叉表的列数是不确定的

declare @sql varchar(8000)

set @sql = ''''select name,''''

 

select @sql = @sql + ''''sum(case subject when ''''''''''''+subject+''''''''''''

                          then source else 0 end) as ''''''''''''+subject+'''''''''''',''''

  from (select distinct subject from test) as a

 

select @sql = left(@sql,len(@sql)-1) + '''' from test group by name''''

exec(@sql)

go

 

运行结果:

 

 

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口