源代码:ZGLanguage 解析SQL数据血缘 之 显示 MERGE SQL 结构图

SQL代码如下所示 :

sql 复制代码
MERGE INTO ETL.MA_F_LOAN A
    USING (SELECT /*+PARALLEL(8)*/
            T.ACCOUNT_NUMBER, T.GL_ACCOUNT_ID, T.INT_GL_ACCOUNT_ID
             FROM ETL.MA_F_LOAN T
            INNER JOIN ETL.MA_D_GL_SUBJECT T1
               ON T.INT_GL_ACCOUNT_ID = T1.SUBJECT_NO3
              AND T1.SUBJECT_NAME3 LIKE '%已减值%'
              AND T1.AS_OF_DATE = P_AS_OF_DATE
            WHERE T.AS_OF_DATE = P_AS_OF_DATE
              AND T.ACCOUNT_NUMBER IN
                  (SELECT ACCOUNT_NUMBER
                     FROM (SELECT /*+PARALLEL(8)*/
                            T2.ACCOUNT_NUMBER, COUNT(1)
                             FROM ETL.MA_F_LOAN T2
                            WHERE T2.AS_OF_DATE = P_AS_OF_DATE
                            GROUP BY T2.ACCOUNT_NUMBER
                           HAVING COUNT(1) > 1))) B
    ON (A.ACCOUNT_NUMBER = B.ACCOUNT_NUMBER AND A.AS_OF_DATE = P_AS_OF_DATE AND A.GL_ACCOUNT_ID = B.GL_ACCOUNT_ID AND A.INT_GL_ACCOUNT_ID = B.INT_GL_ACCOUNT_ID)
    WHEN MATCHED THEN
      UPDATE SET A.CUR_BOOK_BAL = 0, A.OVERDUE_BAL = 0
	  ;

通过 ZGLanguage + Python 将以上SQL转换成 Echarts 的树结构数据:

python 复制代码
[
    {
        "name": "test.code",
        "children": [
            {
                "name": "MA_F_LOAN",
                "children": [
                    {
                        "name": "__SUB_SELECT_2__",
                        "children": [
                            {
                                "name": "MA_F_LOAN",
                                "children": []
                            },
                            {
                                "name": "MA_D_GL_SUBJECT",
                                "children": []
                            },
                            {
                                "name": "__SUB_SELECT_30__",
                                "children": [
                                    {
                                        "name": "MA_F_LOAN",
                                        "children": []
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
]

使用 Echarts 的展示 :

源代码下载

相关推荐
Aloudata2 小时前
EAST 口径文档自动化生成:破解 SQL 过滤条件解析难题,实现 20 倍效率提升
sql·自动化·数据治理·元数据·数据血缘
__风__2 小时前
PostgreSQL timestamp类型说明
数据库·postgresql
Gain_chance2 小时前
24-学习笔记尚硅谷数仓搭建-DIM层的维度表建表思路及商品表维度表的具体建表解析
数据仓库·hive·笔记·学习·datagrip
Yolanda942 小时前
【IDEA】IDEA连接MongoDB数据库
数据库·mongodb·idea使用
FJW0208142 小时前
关系型数据库大王Mysql——SQL编程
数据库·sql·mysql
一 乐2 小时前
在线考试|基于springboot + vue在线考试系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
yufuu982 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
heze092 小时前
sqli-labs-Less-26
数据库·mysql·网络安全
ahauedu2 小时前
在 MySQL 中设置 `max_allowed_packet` 参数的几种方法
数据库·mysql