表的纵向转横向问题:
有一个统计结果表,表的结构和数据如下:
民族,性别,学历,记录数
汉 男 本科 18
汉 男 大专 29
汉 男 高中 12
汉 女 本科 6
满 男 本科 5
满 女 高中 4
满 女 本科 8
......现在想通过设置,把某些列转为横向的,如把民族作为横向列: 汉 满
男,本科 18 0
男,大专 29 0
男,高中 12 0
女 高中 0 4
女 本科 6 8以上只是其中设置的一种,可以根据需要把(民族,性别)作为横向列,而产生另外一种结构,
这样要如何通过程序来实现?
有一个统计结果表,表的结构和数据如下:
民族,性别,学历,记录数
汉 男 本科 18
汉 男 大专 29
汉 男 高中 12
汉 女 本科 6
满 男 本科 5
满 女 高中 4
满 女 本科 8
......现在想通过设置,把某些列转为横向的,如把民族作为横向列: 汉 满
男,本科 18 0
男,大专 29 0
男,高中 12 0
女 高中 0 4
女 本科 6 8以上只是其中设置的一种,可以根据需要把(民族,性别)作为横向列,而产生另外一种结构,
这样要如何通过程序来实现?
解决方案 »
- 100分求教:通过Panel实现类MDI风格的一点小问题
- QQ delphi 群,欢迎大家加入: 3010355
- 怎样编写一个采用snmp协议读取可网管网络设备流量的程序
- listview简单问题
- 关于字符串问题:
- rspt 协议的文件用什么软件下载?
- !!!!!!!有关socket服务器端故障重启后重新刷新客户端用户名单的问题?????
- ADO的学习方法和参考书籍!(刚刚学,请大伙指教!Up 有分!呵呵)
- 谢谢ConserLin的组件,请来领分
- 如何在Linux Server上远程执行局域网内某一台Windows操作系统的Delphi应用程序?
- 气死我了,下载了怎么多图标都用不了?有办法吗?
- 求一个控件
在SQL2000幫助 上有個詳細的例子
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]GOINSERT INTO [test] ([name],[subject],[Source]) values (N'张三',N'语文',60)INSERT INTO [test] ([name],[subject],[Source]) values (N'李四',N'数学',70)
交叉表语句的实现:--用于:交叉表的列数是确定的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
我的数据库是oracle的,没有case语法,要用什么语法呢?
http://community.csdn.net/Expert/topic/3563/3563589.xml?temp=.6610681