select x.swjg_dm as ZSJG_DM,
x.MC as SWJG_MC,
x.JGJC,
sum(nvl(y.YDZCX, 0)) as GKBBS,
sum(nvl(y.YDZCX, 0)) as YDZCS,
sum(nvl(y.DZCGCS, 0)) as DZCGCS,
sum(nvl(y.DZBCGCS, 0)) as DZBCGCS
from T_DM_GY_SWJG x,
(select T.SWJG_DM, T.MC, count(1) as YDZCX, 0 as DZCGCS, 0 as DZBCGCS
from T_QS_XZBBXX x, T_DM_GY_SWJG T
where T.SWBM_BJ = '0'
and T.SJSWJG_DM=(CASE WHEN ? IS NULL THEN '23200000000' ELSE ? END)
and x.zsjg_dm like T.cc || '%'
group by T.SWJG_DM, T.MC
union all
select T.SWJG_DM, T.MC, 0, count(1), 0
from T_QS_DZXX_RQ RZ, T_DM_GY_SWJG T
where RZ.DZZT_DM = '01'
AND RZ.DZLX_DM = '01'
and T.SWBM_BJ = '0'
and T.SJSWJG_DM=(CASE WHEN ? IS NULL THEN '23200000000' ELSE ? END)
and RZ.zsjg_dm like T.cc || '%'
group by T.SWJG_DM, T.MC
union all
select T.SWJG_DM, T.MC, 0, 0, count(1)
from T_QS_DZXX_RQ RZ, T_DM_GY_SWJG T
where RZ.DZZT_DM <> '01'
AND RZ.DZLX_DM = '01'
and T.SWBM_BJ = '0'
and T.SJSWJG_DM=(CASE WHEN ? IS NULL THEN '23200000000' ELSE ? END)
and RZ.zsjg_dm like T.cc || '%'
group by T.SWJG_DM, T.MC) y
where x.swjg_dm = y.swjg_dm(+)
and x.SJSWJG_DM=(CASE WHEN ? IS NULL THEN '23200000000' ELSE ? END)
and x.SWBM_BJ = '0'
group by x.swjg_dm, x.mc,x.jgjc
该SQL 是要展示如图所示的效果
税务机关 国库报表数 应对账次数 对账成功次数 对账不成功次数
1、将一个SQL的结果当做一个表,起个别名和另一个表关联
2、为了取得数量的和,创建一些空的类,起个别名,然后sum.
3、nvl 函数 NVL( string1, replace_with)
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。
4、case when zhen 语句
5、like 的运用
很值得学习
还有一个带点技巧性
select t.zsjg_dm,to_char(t.bbssrq,'yyyy-MM-dd') bbssrq,
to_char(t.xzdate,'yyyy-MM-dd') xzdate,t.czry_dm,
( case
when rz.dzlx_dm is null
then '未对帐'
when rz.dzzt_dm ='01'
then '对帐成功'
when rz.dzzt_dm='02'
then '对帐不成功'
end ) DZJG
from T_QS_XZBBXX t, T_QS_DZXX_RQ rz
where t.zsjg_dm=rz.zsjg_dm(+)
and t.bblx=rz.bblx(+)
如果T_QS_XZBBXX 没有存在于 T_QS_DZXX_RQ的对应数据状态为“未对帐”,可以用左连接的空值来判断,而不是not exists .
分享到:
相关推荐
- **测试假设**: 上述测试启发了一个猜想——SELECT List中的字段顺序与端口(Port)的顺序无关。 - **测试步骤**: - 打乱自定义SQL中的字段顺序。 - 执行工作流。 **测试结果**: 工作流成功执行,验证了这一猜想的...
结合VB和SQL的知识点,我们可以理解这一资料包是一个基于VB的图书管理系统,利用SQL来处理和存储数据。开发者可能使用VB的ADO.NET库(ActiveX Data Objects)或者其他数据库连接组件,如ODBC或OLE DB,来建立与SQL ...
在Java课程设计中主要从以下几个方面实施启发式教学: 2.2.1 渐进式启发学生完成项目中的部分功能模块 学生掌握表2中的基础知识后,指导教师使用渐进式启发学生完成项目中的部分功能。比如,以学生信息管理系统的...
根据提供的信息,这篇文章的标题和描述都是“基于PB_SQL的高校成教排课管理系统的设计与实现”,而标签则是“SQL 数据库...通过PB/SQL的应用,可以高效地构建一个功能完备的排课管理系统,满足高校成人教育的特殊需求。
中职学生在学习SQL Server时普遍面临几个问题:首先,他们能够理解Transact-SQL命令的讲解,但无法独立写出具体操作的SQL语句;其次,学生虽然学完了数据库中的各类对象,但在实际应用中无法选择合适的对象来解决...
本书主要涵盖以下几个方面的知识点: 1. **PL/SQL基础知识**:介绍PL/SQL的基本语法,包括变量声明、常量定义、数据类型、运算符、控制结构(如IF-THEN-ELSIF、CASE、循环)以及异常处理机制。 2. **PL/SQL块结构*...
这种方法鼓励学生从不同角度分析同一个问题,寻找多种解决方案。以查询年龄在15至18岁之间的学生信息为例,可以通过AND逻辑运算符、BETWEEN关键字或LIKE关键字来实现。这种训练方式不仅巩固了基础知识,还锻炼了学生...
标题中提到的“1204 Java 遗传算法排课java sqlserver.rar”是一个基于Java编程语言开发的排课系统,它采用遗传算法来优化排课过程,并将数据存储在SQL Server数据库中。SQL Server是一种关系型数据库管理系统,提供...
SQL Server 2005是一个广泛使用的数据库管理系统,它在数据库程序设计教学中扮演着重要角色。在探讨SQL Server 2005数据库程序设计课程的教学模式时,需要考虑如何有效地将理论知识和实践技能传授给学生,以及如何...
在这个系统中,"图书管理系统源码+数据库创建脚本"提供了一个完整的解决方案,涵盖了前端用户界面和后端数据处理部分。让我们深入探讨一下这个系统的核心知识点。 首先,VC++是Microsoft开发的一种集成开发环境,常...
- **Nest Loop (Cluster Join)**: 如果一个表非常小或者可以完全放入内存中,那么Nest Loop连接会非常高效。另外,当连接条件涉及聚集索引时也会采用这种连接方式。 - **Index Join**: 当连接条件能够利用到索引时,...
设计决策树构建和应用的SQL原语时,考虑到了以下几点: - **通用性**:原语应作为构建模块,而不是特定算法的实现。 - **灵活性**:支持广泛的分类算法。 - **高效性**:充分利用DBMS的功能提高性能。 ##### 4.2 ...
在设计动态文学网站时,开发者通常会考虑以下几个关键点: 1. 数据库交互:ASP可以与数据库系统(如Access或SQL Server)集成,用于存储和检索文学作品、用户信息等数据。在这个项目中,可能会用到ADO(ActiveX ...
Cypher 的设计目的是一个人类查询语言,适合于开发者和在数据库上做点对点模式(ad-hoc)查询的专业操作人员。 Cypher 的构念是基于英语单词和灵巧的图解,通过一系列不同的方法和建立于确定的实践为表达查询而激发...
下面将从几个关键章节入手,概括并深入探讨书中涵盖的核心知识点。 ### 数据库系统概述 在第一章“Introduction”中,作者首先介绍了数据库系统在现实世界中的应用,强调了数据库系统对于管理大量数据、实现数据...
1. **db.sql**:这是一个SQL脚本文件,用于初始化数据库结构和可能的数据。通常在项目部署时,会用这个文件来创建表、设置初始数据,确保应用程序可以正常运行。 2. **说明文档.txt**:这个文件很可能包含了项目的...
再者,**共享SQL语句**是Oracle性能优化的另一个关键方面。Oracle在内存中的共享池中存储已解析的SQL语句,以便于后续相同的SQL语句可以直接复用,无需再次解析,这显著提高了执行效率。但是,只有在SQL语句完全一致...
标题中的“PB9写的一个万年历代码”指的是使用PowerBuilder 9(PB9)开发的一个具有万年历功能的程序。...同时,对于有经验的开发者来说,这也可能是一个启发灵感、学习新技巧或优化已有项目的好素材。