# 假设存在 子查询SQL代码 如下:
SELECT CL.OBJECTNO , PP.PAYDATE FROM NYBDP.O_SS_CL_LOAN_ACCT_STATIS CL LEFT JOIN (SELECT AL.PAYDATE , BC.BUSS_NO FROM O_CWWS_ACCT_LOAN AL INNER JOIN NYBDP.O_CWWS_BUSINESS_DUEBILL BD ON 1=1 LEFT JOIN O_CWWS_BUSINESS_CONTRACT BC ON 1=1 ) PP ON 1=1 ;# 若要提取子查询SQL代码中的源表名,可添加__SUB_SELECT__子查询解析配置,如下所示:
__DEF_FUZZY__ Y __DEF_DEBUG__ N __DEF_CASE_SENSITIVE__ N __DEF_LINE_COMMENT__ -- __DEF_LINES_COMMENT__ /* */ __DEF_PATH__ __SELECT__ 1 : x1 @ | select N : x2 @ | __OTH_COL__ e : x3 @ | , 1 : x4 @ | from : x5 @ | __TABLE_NAME__ : x5s @ + __SUB_SELECT__ N : x6 @ | __JOIN_TABLE__ __DEF_SUB_PATH__ __OTH_COL__ 1 : x1 | __NAME__ : x2 | . : x3 | __NAME__ __DEF_SUB_PATH__ __TABLE_NAME__ 1 : 源表 @ | __NAME__ + : schema @ | __NAME__ : pp @ | . : 源表_2 @ | __NAME__ 1 : as @ CAN_SKIP | as : 源表别名 @ CAN_SKIP | __NAME__ __DEF_SUB_PATH__ __SUB_SELECT__ 1 : x1 | ( : x2 | __SELECT__ : x3 | ) : x4 @ CAN_SKIP | as : x5 @ CAN_SKIP | __NAME__ __DEF_SUB_PATH__ __JOIN_TABLE__ 1 : x0 @ | join + : x1 @ | inner : x2 @ | join + : x5 @ | left : x6 @ CAN_SKIP | out : x7 @ | join + : x12 @ | right : x13 @ CAN_SKIP | out : x14 @ | join + : x17 @ | full : x18 @ CAN_SKIP | out : x19 @ | join + : x20 @ | , 1 : x21 @ | __TABLE_NAME__ : x2s @ + __SUB_SELECT__ : x22 @ | on : x23 @ | 1=1 __DEF_STR__ __NAME__ <1,100> [1,1]ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_?? [0,100]ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_?? [NO] select inner left join on from where group order by having union all with as table# 根据语法配置解析结果(导入Excel)如下所示:
根据以上语法标注"源表"可以提取到SQL子查询中的源表名。