交叉表使用

原创 2005年02月26日 14:29:00

-----交叉表应用实例

CREATE TABLE [Test] (

       [id] [int] IDENTITY (1, 1) NOT NULL ,

       [name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

       [subject] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

       [Source] [numeric](18, 0) NULL

) ON [PRIMARY]

GO

INSERT INTO [test] ([name],[subject],[Source]) values (N'张三',N'语文',60)

INSERT INTO [test] ([name],[subject],[Source]) values (N'李四',N'数学',70)

INSERT INTO [test] ([name],[subject],[Source]) values (N'王五',N'英语',80)

INSERT INTO [test] ([name],[subject],[Source]) values (N'王五',N'数学',75)

INSERT INTO [test] ([name],[subject],[Source]) values (N'王五',N'语文',57)

INSERT INTO [test] ([name],[subject],[Source]) values (N'李四',N'语文',80)

INSERT INTO [test] ([name],[subject],[Source]) values (N'张三',N'英语',100)

Go


 ---以下为交叉表的列数是确定的

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'
print (@sql)
exec(@sql)

go

相关文章推荐

sql交叉表中是使用

  • 2012年06月25日 12:40
  • 3KB
  • 下载

微软图表控件使用初探--数据绑定(交叉表)

本来在考虑是否继续写图表控件的使用文章,毕竟,微软自带的例子已经非常详细了,花点时间参考一下基本上可以了解用法和使用特性,不过后来想想,还是写一下咯,抽出其中大家关心的内容,写出其中常用的使用方法,可...

嵌入式交叉工具的使用说明

  • 2010年05月28日 23:25
  • 286KB
  • 下载

在项目里交叉使用Swift和OC

Swift and Objective-C in the Same Project 在项目里交叉使用Swift和OC Swift与OC的兼容性使得你可以在项目里使用Swift+OC的方式编写应...

交叉编译的制作与使用

  • 2011年08月06日 11:23
  • 189KB
  • 下载

mtd-utils-交叉编译与使用2正解

  • 2011年06月14日 12:11
  • 82KB
  • 下载

【ARM】交叉编译 bluez-4.95 步骤及使用方法

一、前期准备:Ubuntu 12.04需要的包:expat-2.0.1.tar.gz dbus-1.4.1.tar.gz glib-2.16.2.tar.gz bluez-4.95.tar.gz...

NI 与 vs交叉使用

  • 2017年11月17日 09:00
  • 1.36MB
  • 下载

直通线与交叉线使用及做法

  • 2015年08月09日 11:01
  • 102KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:交叉表使用
举报原因:
原因补充:

(最多只允许输入30个字)