请教各位大牛,有什么好的方法可以用java解析出下面sql中的表名,以及所用到的表的字段,格式如下:
表 字段
MID_PAYREF_FEE POLICYNO
....
MID_CMAINORIGIN WORKNUMBER
=======================================
还有嵌套的子查询别名,怎么解析呀?
SELECT
M.POLICYNO AS POLICYNO
,M.BUSINESSNO AS BUSINESSNO
,M.BUSINESSTYPE AS BUSINESSTYPE
,M.PAYTIMES AS PAYTIMES
,(SELECT K.CLASSCODE FROM CD_CLASS_RISK K WHERE K.RISKCODE = M.RISKCODE) AS CLASSCODE
,(SELECT K.CLASSCNAME FROM CD_CLASS_RISK K WHERE K.RISKCODE = M.RISKCODE) AS CLASSNAME
,M.RISKCODE AS RISKCODE
,(SELECT K.RISKCNAME FROM CD_RISK K WHERE K.RISKCODE = M.RISKCODE) AS RISKNAME
,M.BUSINESSNATURE AS BUSINESSNATURE
,(SELECT CB.CODECNAME FROM CD_BUSINESSNATURE CB WHERE CB.CODE = M.BUSINESSNATURE) AS BUSINESSNATURENAME
,M.CUSTOMERTYPE AS CUSTOMERTYPE
,(SELECT CA.CODECNAME FROM CD_CUSTOMERTYPE_ACC CA WHERE CA.CODE = M.CUSTOMERTYPE) AS CUSTOMERTYPENAME
,M.CHANNELCODE AS AGENTID
,(SELECT G.CHANNELCNAME FROM CD_AGENT G WHERE G.CHANNELCODE = M.CHANNELCODE) AS AGENTNAME
--,M.APPLIID AS APPLIID
,M.APPLINAME AS APPLINAME
-- ,M.INSUREDCODE AS INSUREDID
,M.INSUREDNAME AS INSUREDNAME
,M.OWNERID AS OWNERID
,(SELECT F.USERCNAME FROM ODS_USERINFO F WHERE F.USERCODE = M.OWNERID) AS OWNERNAME
,M.COMCODE AS COMCODE
,(SELECT Y.COMNAME FROM ODS_DCOMPANY Y WHERE Y.COMCODE = M.COMCODE) AS COMNAME
,M.BUSINESSFLAG AS BUSINESSFLAG
,M.ACCDATE AS ACCDATE
,M.FEETYPECODE AS FEETYPECODE
,M.SHOULDCURRENCY AS SHOULDCOMMCHARGECURRENCY