在项目中遇到了一个比较复杂关系的sql,关联关系有些模糊,现在梳理一下

sql如下:

SELECT TRAN.TRANS_DATE,
TRAN.TRANS_TIME,
TRAN.BUSI_TRAC_CODE YW,
PZK.JSPZK_PZBH PZBH,
DECODE(PZK.JSPZK_PZRQ,
'',
DECODE(KMZD.F_YEFX,
1,
RYE.JSZHRYEB_QCYE,
2,
RYE.JSZHRYEB_QCYE * (-1),
0),
DECODE(KMZD.F_YEFX,
1,
YE.JSZHYEB_QCYE,
2,
YE.JSZHYEB_QCYE * (-1),
0)) QCYE,
DECODE(PZFL.JSPZFL_JZFX, '', PZFL.JSPZFL_JE, null) JFFS,
DECODE(PZFL.JSPZFL_JZFX, '', PZFL.JSPZFL_JE, null) DFFS,
TRAN.AMOUNT,
DECODE(KMZD.F_YEFX,
2,
PZFL.JSPZFL_BAL * (-1) +
NVL(PZFL.JSPZFL_FUNDSPOOL_BAL, 0) * (-1),
PZFL.JSPZFL_BAL + NVL(PZFL.JSPZFL_FUNDSPOOL_BAL, 0)) ZHDQYE ,
DECODE(PZFL.JSPZFL_OPP_NAME,
NULL,
TRAN.OPP_CUST_ACC_NAME,
PZFL.JSPZFL_OPP_NAME) OPPNAME ,
DECODE(PZFL.JSPZFL_OPP_ACTNO,
NULL,
TRAN.OPP_CUST_ACC_CODE,
PZFL.JSPZFL_OPP_ACTNO) OPPACTNO,
PZK.JSPZK_BZ ZY
FROM JSPZFL PZFL, TRAN_FLOW TRAN, LSKMZD KMZD, JSPZK PZK
left join JSZHYEB YE
on YE.JSZHYEB_BH = ''
AND YE.JSZHYEB_RQ = PZK.JSPZK_PZRQ
left join JSZHRYEB RYE
on RYE.JSZHRYEB_BH = ''
WHERE PZK.JSPZK_PZNM = PZFL.JSPZFL_PZNM
AND TRAN.VOUCHER_ID = PZK.JSPZK_PZNM
AND TRAN.BUSI_TRAC_CODE NOT IN ('IFP_ZJXB', 'IFP_ZJSH')
AND PZFL.JSPZFL_KMBH = KMZD.F_KMBH
AND PZK.JSPZK_JZBZ <> ''
AND NVL(PZFL.JSPZFL_BY7, '') != ''
AND TRAN.CUST_CODE IN (select cust_code
from CUST_CORP_INFO
start with cust_code = ''
connect by prior organ_id = parent_code
AND CUST_TYPE = '') AND EXISTS (SELECT 1
FROM V_DIC_ACC ACC
WHERE ACC.BH = PZFL.JSPZFL_ZHBH
AND ACC.BH = '') AND PZK.JSPZK_PZRQ >= ''
AND PZK.JSPZK_PZRQ <= ''
ORDER BY PZK.JSPZK_PZNM, PZFL.JSPZFL_FLNM, TRAN.TRAC_ID

一个复杂关联的sql的更多相关文章

  1. Hibernate原生SQL查询多表关联,SQL语句要注意的问题

    Hibernate原生SQL查询多表关联,SQL语句要注意的问题 @for&ever 2009-9-4 系统环境: MySQL5.1 Hibernate3.3 有如下的假定: 实体类 Ques ...

  2. 【应用】_有道词典客户端一个后缀名为sql的数据库。

    [缘起] 在清理电脑磁盘的时候,看一看各安装文件夹有占用了多大容量,发现有道词典居然达140MB了,于是进去看看. 发现个有趣的文件:XXX.sql. 首先我们看一看它的安装文件夹的结构: Dict ...

  3. 一个小面试题sql

    一.            问答题 1简要说明分页是如何实现的. A:sqlserver: Select top(pagesize)  * from  student where id not in( ...

  4. mysql一个非常实用解决sql查询优化的函数explain

    前言: 项目中有个表有几万条数据,然后还要关联其他表,查询条件也有点多,再没有其他查询条件下,默认时间查询条件如果是查一年的数据的话,查询时间那是慢得可怕. 找总监去优化sql,看他用了一个sql函数 ...

  5. [mysql] 关联查询sql记录

    //查询账单关联订单 select o.id as id, o.order_no as orderNo, o.case_no as caseNo, o.send_time as sendTime, o ...

  6. 在有道词典程序文件夹发现一个后缀名为sql的数据库(SQLite)

    缘起 在清理电脑磁盘的时候,看一看各安装文件夹有占用了多大容量,发现有道词典居然达140MB了,于是进去看看. 发现个有趣的文件:XXX.sql. 首先我们看一看它的安装文件夹的结构: Dict └─ ...

  7. 一个小时成功安装SQL Server 2012图解教程

    在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. 安装SQL S ...

  8. 从一个小例子认识SQL游标

    1    什么是游标: 关系数据库中的操作会对整个行集起作用. 例如,由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行. 这种由语句返回的完整行集称为结果集. 应用程序 ...

  9. 通过一个正则表达式,让SQL Server数据库的带参sql也支持位置参数语法!

    .NET Framework 2.0 中,Microsoft 在 System.Data.Common 名称空间下定义了一组类用来让程序员编写适用于不同数据库的数据访问代码,而且还在 Enterpri ...

随机推荐

  1. windows下使用curl命令&&常用curl命令

    什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在windo ...

  2. 第二章 c语言概述

    一.#include指令和头文件 1.#include C预处理指令,C编译器在编译前对源代码做一些准备工作 2.stdio.h标准输入输出头文件,提供了关于输入输出的信息供编译器使用 头文件包含了建 ...

  3. linux内核中的wait_event_interruptible_timeout接口解析

    1. 原型 #define wait_event_interruptible_timeout(wq_head, condition, timeout) \ ({ \ long __ret = time ...

  4. kotlin泛型类型变异

    在java泛型中中会有 ? extends E 可以解决类似于List<String> 赋给List<Object>  的问题,但是在kotlin泛型中并没有提供通配符,而是o ...

  5. 用SSMS连接Azure Sql Database 与连接本地库的一些操作区别

    背景 我们知道Azure Sql Database 可以降低运维成本.是一种Pass模式,有资源弹性设置,可以自由调整资源自动对应不同业务高峰(当然也可以降低费用成本),也方便项目后期的资源扩展,以及 ...

  6. checklist和基础安全知识

    checklist和基础安全知识 https://book.yunzhan365.com/umta/rtnp/mobile/index.html 网络安全科普小册子 http://sec.cuc.ed ...

  7. python 操作mysql数据库(mac)包括如何处理安装MySQL-python

    一.数据库的安装,https://www.jianshu.com/p/fd3aae701db9      https://jingyan.baidu.com/article/fa4125ac0e3c2 ...

  8. PL-VIO Docker测试

    Docker里面测试PL-VIO的代码 PL-VIO贺一家大佬最近开源出来的一个点线特征融合的VIO代码,基于Vins-Mono,想要快速测试一下代码,所以就写了个简单的Dockerfile来测试一下 ...

  9. github pages + hexo 搭建 blog 遇到的问题

    一. ERROR Deployer not found: git $ hexo d ERROR Deployer not found: git npm install --save hexo-depl ...

  10. JDK1.8新特性之Optional

    概念 Optional 是JDK1.8中出现的一个容器类,代表一个值存在或者不存在.原来使用null表示一个值不存在,现在Optional可以更好的表达这个概念.并且可以避免空指针异常. 场景分析 需 ...