今天需要做一个统计查询,关联很多表,用稍微复杂的SQL语句可以实现,如下:
select nn.GXDWMC 汉字标题1, nn.TYMC 汉字标题2,jbsl 汉字标题3,fcsl汉字标题4 ,GSL汉字标题5,Lsl汉字标题6 from
   Table0103 nn,

(select b.GXDWMC as GXDWMC,b.TYMC as TYMC,count(a.TYMC) jbsl
   from TABLE0901 a,Table0103 b
    where b.TYMC=a.SSZMC       
    group by  b.GXDWMC ,b.TYMC   
    ) aa,

(select b.GXDWMC as GXDWMC,b.TYMC as TYMC,count(c.TYMC) fcsl
     from Table0103 b ,TABLE0912 c
    where  b.TYMC=c.SSZMC
    group by  b.GXDWMC ,b.TYMC
    ) bb,

(select c.GXDWMC as GXDWMC,c.TYMC as TYMC,count(c.TYMC) GSL
     from Table0103 c ,TABLE0904 d
    where  c.TYMC=d.SSZMC
    group by  c.GXDWMC ,c.TYMC
    ) cc,

(select d.GXDWMC as GXDWMC,d.TYMC as TYMC,count(d.TYMC) lSL
     from Table0103 d ,TABLE0906 e
    where  d.TYMC=e.SSZMC
    group by  d.GXDWMC ,d.TYMC
    ) dd

where nn.GXDWMC=aa.GXDWMC and nn.GXDWMC=bb.GXDWMC
          and  nn.TYMC=aa.TYMC and nn.TYMC=bb.TYMC
          and  cc.TYMC=aa.TYMC and nn.TYMC=bb.TYMC
          and  dd.TYMC=aa.TYMC and nn.TYMC=bb.TYMC

这个统计最终涉及的表可能有10几张,后面改用存储过程来实现也可以,如下:
CREATE OR REPLACE PACKAGE TSP_YQCY_0F_TJ0 IS

-- Author  :dawn
 -- Created :2011-1-11
 -- Purpose :test

TYPE CUR IS REF CURSOR;
 PROCEDURE TSP_YQCY_0F_TJ0
 (
  P_DW IN VARCHAR2,
  C    OUT CUR
 );
END TSP_YQCY_0F_TJ0;
/
CREATE OR REPLACE PACKAGE BODY TSP_YQCY_0F_TJ0 IS

-- Author  :
 -- Created :
 -- Purpose :

PROCEDURE TSP_YQCY_0F_TJ0
 (
  P_DW IN VARCHAR2,
  C    OUT CUR
 ) AS

begin
  OPEN C FOR

select nn.GXDWMC 汉字标题1, nn.TYMC 汉字标题2,jbsl 汉字标题3,fcsl汉字标题4 ,GSL汉字标题5,Lsl汉字标题6 from
   Table0103 nn,

(select b.GXDWMC as GXDWMC,b.TYMC as TYMC,count(a.TYMC) jbsl
   from Table0901 a,Table0103 b
    where b.TYMC=a.SSZMC       
    group by  b.GXDWMC ,b.TYMC   
    ) aa,

(select b.GXDWMC as GXDWMC,b.TYMC as TYMC,count(c.TYMC) fcsl
     from Table0103 b ,Table0912 c
    where  b.TYMC=c.SSZMC
    group by  b.GXDWMC ,b.TYMC
    ) bb,

(select c.GXDWMC as GXDWMC,c.TYMC as TYMC,count(c.TYMC) GSL
     from Table0103 c ,Table0904 d
    where  c.TYMC=d.SSZMC
    group by  c.GXDWMC ,c.TYMC
    ) cc,

(select d.GXDWMC as GXDWMC,d.TYMC as TYMC,count(d.TYMC) lSL
     from Table0103 d ,Table0906 e
    where  d.TYMC=e.SSZMC
    group by  d.GXDWMC ,d.TYMC
    ) dd

where nn.GXDWMC=aa.GXDWMC and nn.GXDWMC=bb.GXDWMC
          and  nn.TYMC=aa.TYMC and nn.TYMC=bb.TYMC
          and  cc.TYMC=aa.TYMC and nn.TYMC=bb.TYMC
          and  dd.TYMC=aa.TYMC and nn.TYMC=bb.TYMC  
   ;

END;
END;
/

对于复杂的统计,也可以通过创建临时表来完成,具体做法是:
1、建立临时表;
2、通过在包体完成统计,即在临时表里的统计记录的填写;
3、返回结果集,即游标。

统计SQL语句和存储过程相关推荐

  1. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

  2. java存储过程与sql语句_存储过程与SQL语句怎么选择

    应用存储过程的优点: 1.具有更好的性能 存储过程是预编译的,只在创建时进行编译,以后每次执行存储过程都不需再重新编译, 而一般 SQL 语句每执行一次就编译一次,因此使用存储过程可以提高数据库执行速 ...

  3. Entity Framework Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  4. EF中使用SQL语句或存储过程

    EF中使用SQL语句或存储过程   1.无参数查询 var model = db.Database.SqlQuery<UserInfo>("select* from UserIn ...

  5. EF Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  6. SqlServer 按日、周、月、季、年统计SQL语句

    --创建表 CREATE TABLE Orders( Id int not null identity(1,1) primary key , Num int, CreationTime datetim ...

  7. SQL语句--执行存储过程

    SQL语句–执行存储过程ST_output declare @Sname varchar(8),@Tname varchar(8) exec ST_output'18001',@Sname outpu ...

  8. 第七节:EF Core调用SQL语句和存储过程

    一. 查询类(FromSql) 1.说明 A. SQL查询必须返回实体的所有属性字段. B. 结果集中的列名必须与属性映射到的列名相匹配. C. SQL查询不能包含关联数据 D. 除Select以为的 ...

  9. sql语句之存储过程,触发器,函数,事务,游标

    (文章中的sql语句基于sql server) 目录 存储过程: 1.CREATE PROCEDURE语句 EXEC语句执行一个已定义的存储过程 [强化练习] 事务: L1.事务处理 1.开始事务 2 ...

  10. SQL语句,存储过程,触发器

    文章目录 SQL语句的分类 SQL语句需要注意的点 MySQL体系结构 数据库设计三范式和反范式 范式一: 范式二: 范式三: 反范式: 存储过程 触发器 SQL语句的分类 结构化查询语言(Struc ...

最新文章

  1. 当薪资倒挂成为常态,然后呢?
  2. CentOS Git服务安装
  3. 【Intellij IDEA系列】IDEA使用git提交代码流程
  4. python创建变量score_关于Python创建类时的self参数和__init__
  5. QT控件出现乱码问题
  6. BuzzFeed如何从Perl单体应用迁移到Go和Python微服务
  7. 【TSP】基于matlab遗传算法求解中国35省会城市旅行商问题【含Matlab源码 1222期】
  8. maven教程一:快速搭建
  9. python爬虫(十一)爬取贴吧图片
  10. 人脸识别中的损失函数ArcFace及其实现过程代码(pytorch)--理解softmax损失函数及Arcface
  11. html怎么控制文字的行数,CSS3属性 line-clamp控制文本行数的使用
  12. 使用lombok时,get/set方法冒红问题
  13. Windows11电脑触摸屏不能用怎么修复
  14. table 表格合并行或列
  15. 用Bibtex导出GB/T 7714等格式引用的方法
  16. Linux病毒扫描工具ClamAV安装使用
  17. (高精度GPS北斗RTK手持机)
  18. 优麒麟 20.04 LTS Pro 发布 - 以初心,铸匠心
  19. 谈谈“.花季(滑稽)护航”
  20. 网络安全专家成长指引

热门文章

  1. JavaScript中清空数组最有效的三种方法
  2. Postman安装使用
  3. nodejs之querystring模块
  4. [微信小程序]swiper保持宽高比
  5. 【转】图解Sql2005创建分区表的全过程
  6. deferred initcalls与模块化
  7. Java:集合,Map接口框架图
  8. 流行趋势:大背景图片在网页设计的20个精彩应用
  9. day 17 - 1 递归函数
  10. 中文字体压缩器-解决css引入的字体太大的问题