统计SQL语句和存储过程
今天需要做一个统计查询,关联很多表,用稍微复杂的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语句和存储过程相关推荐
- 总结一些关于操作数据库是sql语句还是存储过程问题
总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...
- java存储过程与sql语句_存储过程与SQL语句怎么选择
应用存储过程的优点: 1.具有更好的性能 存储过程是预编译的,只在创建时进行编译,以后每次执行存储过程都不需再重新编译, 而一般 SQL 语句每执行一次就编译一次,因此使用存储过程可以提高数据库执行速 ...
- Entity Framework Core 执行SQL语句和存储过程
无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...
- EF中使用SQL语句或存储过程
EF中使用SQL语句或存储过程 1.无参数查询 var model = db.Database.SqlQuery<UserInfo>("select* from UserIn ...
- EF Core 执行SQL语句和存储过程
无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...
- SqlServer 按日、周、月、季、年统计SQL语句
--创建表 CREATE TABLE Orders( Id int not null identity(1,1) primary key , Num int, CreationTime datetim ...
- SQL语句--执行存储过程
SQL语句–执行存储过程ST_output declare @Sname varchar(8),@Tname varchar(8) exec ST_output'18001',@Sname outpu ...
- 第七节:EF Core调用SQL语句和存储过程
一. 查询类(FromSql) 1.说明 A. SQL查询必须返回实体的所有属性字段. B. 结果集中的列名必须与属性映射到的列名相匹配. C. SQL查询不能包含关联数据 D. 除Select以为的 ...
- sql语句之存储过程,触发器,函数,事务,游标
(文章中的sql语句基于sql server) 目录 存储过程: 1.CREATE PROCEDURE语句 EXEC语句执行一个已定义的存储过程 [强化练习] 事务: L1.事务处理 1.开始事务 2 ...
- SQL语句,存储过程,触发器
文章目录 SQL语句的分类 SQL语句需要注意的点 MySQL体系结构 数据库设计三范式和反范式 范式一: 范式二: 范式三: 反范式: 存储过程 触发器 SQL语句的分类 结构化查询语言(Struc ...
最新文章
- 当薪资倒挂成为常态,然后呢?
- CentOS Git服务安装
- 【Intellij IDEA系列】IDEA使用git提交代码流程
- python创建变量score_关于Python创建类时的self参数和__init__
- QT控件出现乱码问题
- BuzzFeed如何从Perl单体应用迁移到Go和Python微服务
- 【TSP】基于matlab遗传算法求解中国35省会城市旅行商问题【含Matlab源码 1222期】
- maven教程一:快速搭建
- python爬虫(十一)爬取贴吧图片
- 人脸识别中的损失函数ArcFace及其实现过程代码(pytorch)--理解softmax损失函数及Arcface
- html怎么控制文字的行数,CSS3属性 line-clamp控制文本行数的使用
- 使用lombok时,get/set方法冒红问题
- Windows11电脑触摸屏不能用怎么修复
- table 表格合并行或列
- 用Bibtex导出GB/T 7714等格式引用的方法
- Linux病毒扫描工具ClamAV安装使用
- (高精度GPS北斗RTK手持机)
- 优麒麟 20.04 LTS Pro 发布 - 以初心,铸匠心
- 谈谈“.花季(滑稽)护航”
- 网络安全专家成长指引