Delphi(程序人生)

Delphi Programer DoubleCat

常用链接

统计

最新评论

  • 1. re: ACCESS库
  • 不是吧,

    User是一个关键字,你用[user]就可以了
  • --菜鸟先飞

交叉报表

什么叫交叉报表???交叉报表是做什么用的?怎么用?


①交叉报表对像是一个网络,根据指定条件的返回值,将数据显示在压缩行与列中

②,它由三个元素组成,行,列,摘要,

如,把所有销售,按大类区分,并统计大类的和,压成另一个表,这程情况就要用到交叉表

--------------------------------------------------------------------------------------------------

交叉表的写法:

---------------------------------------

①在写交叉表之前先说下Case查询->开关查询,Case查询都是与统计有关的查询,与SUM, AVG ,COUNT这样的聚合函数相配使用

如:从点单表中统计房台名称->重庆->的所有点单金额

---------

select (SUM(Case 房台名称 When '重庆' then 价格 else 0 end)) From 点单表

---------下面看一个原数据表------


先统计各年,各车间的Oput总额

------------------------------------

(Select Dyear, Sum(Case A.plant when '一车间' then A.Oput else 0 end ) as [一车间],
               Sum(Case A.plant when '二车间' then A.Oput else 0 end ) as [二车间],
               Sum(Case A.plant when '三车间' then A.Oput else 0 end ) as [三车间],
               Sum(Case A.plant when '四车间' then A.Oput else 0 end ) as [四车间]

From tb_Crosstab  AS A
Group By A.DYear)

--------------------如下图--------------


上面的代码,产生出来的是一张数据视图,下面再在这张数据视图上,加上一行总计(每行相加产行新列)

在数据视图上再产生数据视图的方法,

①给旧视图命个新名字,

②Select 旧视图.*,(旧视图的各行相加产的的新列) as 新列名 From 旧数据视图

③给数据视图命名要在Group By,Order By 前面,而不能在后面 

------------------------------------------------------

能做交叉视图的数据表是有条件的,并不是所有的表都可以做交叉视图,这个条件是,数据必须按类存放(数据是有归属属性的)


DoubleCat QQ:28088191

posted on 2008-07-10 08:41 DoubleCat 阅读(159) 评论(0)  编辑 收藏 网摘 所属分类: 数据库开发


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-10 08:47 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: