我想提高查询的性能。由于使用了listagg和regxp_like,查询性能可能会降低。是否还有其他更好的选择来取代这两个可能改善性能的功能。
查询:第2版(效果64.796)
WITH SUAS_INFO AS
--Get SUAS service details
(SELECT S.NAME SUAS_SERVICE,
S.SERVICEID SUAS_SERVICE_ID,
SUB.NAME SUBSCRIBER_NAME,
SMAUC.SERVICEID SMAUC_SERVICE_ID,
SMAUC.NAME SMAUC_SERVICE,
regexp_replace(LISTAGG(SIPVPN_MAIN.NAME, ',') WITHIN
GROUP(ORDER BY SIPVPN_MAIN.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3') SIPVPN_MAIN_SERVICE,
regexp_replace(LISTAGG(SIPVPN_RED.NAME, ',') WITHIN
GROUP(ORDER BY SIPVPN_RED.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3') SIPVPN_RED_SERVICE,
regexp_replace(LISTAGG(SIPSBV.NAME, ',') WITHIN
GROUP(ORDER BY SIPSBV.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3') SIPSBV_MAIN,
regexp_replace(LISTAGG(SIPSBV_RED.NAME, ',') WITHIN
GROUP(ORDER BY SIPSBV_RED.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3') SIPSBV_RED,
regexp_replace(LISTAGG(PORT_NO.NAME, ',') WITHIN
GROUP(ORDER BY PORT_NO.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3') SBC_PORT_NO
FROM SERVICE S
JOIN SUBSCRIBER SUB ON SUB.SUBSCRIBERID = S.SERVICE2SUBSCRIBER
AND S.SERVICE2SERVICETYPE = 1955100016
--Fetching SMAUC service
LEFT OUTER JOIN SERVICEOBJECT SO1 ON SO1.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO1.SERVICEOBJECT2RELATION = 1955100029
LEFT OUTER JOIN SERVICE SMAUC ON SMAUC.SERVICEID = SO1.SERVICEOBJECT2OBJECT
--Fetching SIPVPN MAIN service
LEFT OUTER JOIN SERVICEOBJECT SO2 ON SO2.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO2.SERVICEOBJECT2RELATION = 1955100023
LEFT OUTER JOIN SERVICE SIPVPN_MAIN ON SIPVPN_MAIN.SERVICEID = SO2.SERVICEOBJECT2OBJECT
--Fetching SIPVPN Redundant service
LEFT OUTER JOIN SERVICEOBJECT SO3 ON SO3.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO3.SERVICEOBJECT2RELATION = 1955100042
LEFT OUTER JOIN SERVICE SIPVPN_RED ON SIPVPN_RED.SERVICEID = SO3.SERVICEOBJECT2OBJECT
--Fetching SBV SIP Trunk IMS service
LEFT OUTER JOIN SERVICEOBJECT SO4 ON SO4.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO4.SERVICEOBJECT2RELATION = 1955100030
LEFT OUTER JOIN SERVICE SIPSBV ON SIPSBV.SERVICEID = SO4.SERVICEOBJECT2OBJECT
--Fetching Redundant SBV SIP Trunk IMS service
LEFT OUTER JOIN SERVICEOBJECT SO5 ON SO5.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO5.SERVICEOBJECT2RELATION = 1955100031
LEFT OUTER JOIN SERVICE SIPSBV_RED ON SIPSBV_RED.SERVICEID = SO5.SERVICEOBJECT2OBJECT
-- Fetching SBC Port details
LEFT OUTER JOIN SERVICEOBJECT SO6 ON SO6.SERVICEOBJECT2SERVICE = SIPSBV.SERVICEID
AND SO6.SERVICEOBJECT2RELATION = 3100000065
AND SO6.SERVICEOBJECT2DIMOBJECT = 3
LEFT OUTER JOIN CIRCUIT CKT ON CKT.CIRCUITID = SO6.SERVICEOBJECT2OBJECT
LEFT OUTER JOIN NODE PBX ON PBX.NODE2NODEDEF = 3100000000
AND PBX.NODEID IN
(CKT.CIRCUIT2STARTNODE, CKT.CIRCUIT2ENDNODE)
LEFT OUTER JOIN PORT P ON P.PORTID =
DECODE(PBX.NODEID,
CKT.CIRCUIT2STARTNODE,
CKT.CIRCUIT2STARTPORT,
CKT.CIRCUIT2ENDPORT)
LEFT OUTER JOIN NUMBEROBJECT NOB ON NOB.NUMBEROBJECT2OBJECT = P.PORTID
AND NOB.NUMBEROBJECT2RELATION = 3100000031
LEFT OUTER JOIN DIMNUMBER PORT_NO ON PORT_NO.DIMNUMBERID = NOB.NUMBEROBJECT2NUMBER
GROUP BY S.NAME, S.SERVICEID, SUB.NAME, SMAUC.SERVICEID, SMAUC.NAME
),
SMAUC_REL AS
(SELECT SMAUC1.SERVICEID SMAUC_SERVICEID,
regexp_replace(LISTAGG(SID_MAIN.NAME, ',') WITHIN
GROUP(ORDER BY SID_MAIN.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3') SID_MAIN_NAME,
regexp_replace(LISTAGG(SID_RED.NAME, ',') WITHIN
GROUP(ORDER BY SID_RED.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3') SID_RED_NAME,
SEC_SUBNET.NAME SEC_SUBNET,
GLBL_DMZ_SUBNET.NAME GLBL_DMZ_SUBNET,
GLBL_DMZ_IP.NAME GLBL_DMZ_ZONE_IP,
CUST_DMZ_SUBNET.NAME CUST_DMZ_SUBNET,
CUST_PUB_IP.NAME CUST_PUB_IP_EDGE,
CUST_PUB_SBC.NAME CUST_PUB_SBC_B2B_IP,
PUB_REV_PRX.NAME PUBLIC_REVRS_PRXY_MOB_IP,
CUST_ACC_SUB.NAME CUST_ACC_SUBNET,
EXT_SMAUC.REVERSEPROXYURL CUST_REVERSEPROXYURL,
CUST_ACS_VLAN.VALUETO CUST_ACCZONE_VLAN,
SEC_ZONE_VLAN.VALUETO SEC_ZONE_VLAN,
GLBL_DMZ_VLAN.VALUETO GLBL_DMZ_VLAN,
CUST_DMZ_VLAN.VALUETO CUST_DMZ_VLAN,
MAIN_SBC.NAME MAIN_SBC_DEVICE
FROM SERVICE SMAUC1
--Fetching SID Main service
LEFT OUTER JOIN SERVICEOBJECT SO6 ON SO6.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO6.SERVICEOBJECT2RELATION = 1955100039
LEFT OUTER JOIN SERVICE SID_MAIN ON SID_MAIN.SERVICEID = SO6.SERVICEOBJECT2OBJECT
--Fetching SID Redundant service
LEFT OUTER JOIN SERVICEOBJECT SO7 ON SO7.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO7.SERVICEOBJECT2RELATION = 1955100038
LEFT OUTER JOIN SERVICE SID_RED ON SID_RED.SERVICEID = SO7.SERVICEOBJECT2OBJECT
--Fetching Secure Zone Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO8 ON SO8.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO8.SERVICEOBJECT2RELATION = 1955100041
LEFT OUTER JOIN DIMNUMBER SEC_SUBNET ON SEC_SUBNET.DIMNUMBERID = SO8.SERVICEOBJECT2OBJECT
--Fetching Global DMZ Zone Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO9 ON SO9.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO9.SERVICEOBJECT2RELATION = 1955100036
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_SUBNET ON GLBL_DMZ_SUBNET.DIMNUMBERID = SO9.SERVICEOBJECT2OBJECT
--Fetching Customer DMZ Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO10 ON SO10.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO10.SERVICEOBJECT2RELATION = 1955100028
LEFT OUTER JOIN DIMNUMBER CUST_DMZ_SUBNET ON CUST_DMZ_SUBNET.DIMNUMBERID = SO10.SERVICEOBJECT2OBJECT
--Fetching Global DMZ Zone IP Number
LEFT OUTER JOIN SERVICEOBJECT SO_11 ON SO_11.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO_11.SERVICEOBJECT2RELATION = 1955100043
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_IP ON GLBL_DMZ_IP.DIMNUMBERID = SO_11.SERVICEOBJECT2OBJECT
--Fetching Customer Public Edge IP Number
LEFT OUTER JOIN SERVICEOBJECT SO11 ON SO11.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO11.SERVICEOBJECT2RELATION = 1955100024
LEFT OUTER JOIN DIMNUMBER CUST_PUB_IP ON CUST_PUB_IP.DIMNUMBERID = SO11.SERVICEOBJECT2OBJECT
--Fetching Customer Public SBC B2B IP Number
LEFT OUTER JOIN SERVICEOBJECT SO12 ON SO12.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO12.SERVICEOBJECT2RELATION = 1955100026
LEFT OUTER JOIN DIMNUMBER CUST_PUB_SBC ON CUST_PUB_SBC.DIMNUMBERID = SO12.SERVICEOBJECT2OBJECT
--Fetching Public Reverse Proxy Mobile Access IP Number
LEFT OUTER JOIN SERVICEOBJECT SO13 ON SO13.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO13.SERVICEOBJECT2RELATION = 1955100033
LEFT OUTER JOIN DIMNUMBER PUB_REV_PRX ON PUB_REV_PRX.DIMNUMBERID = SO13.SERVICEOBJECT2OBJECT
--Fetching Customer Access Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO14 ON SO14.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO14.SERVICEOBJECT2RELATION = 1955100035
LEFT OUTER JOIN DIMNUMBER CUST_ACC_SUB ON CUST_ACC_SUB.DIMNUMBERID = SO14.SERVICEOBJECT2OBJECT
--Fetching Customer Access Zone VLAN
LEFT OUTER JOIN SERVICEOBJECT SO15 ON SO15.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO15.SERVICEOBJECT2RELATION = 1955100034
LEFT OUTER JOIN DIMNUMBER CUST_ACS_VLAN ON CUST_ACS_VLAN.DIMNUMBERID = SO15.SERVICEOBJECT2OBJECT
--Fetching Customer Secured Zone VLAN
LEFT OUTER JOIN SERVICEOBJECT SO16 ON SO16.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO16.SERVICEOBJECT2RELATION = 1955100040
LEFT OUTER JOIN DIMNUMBER SEC_ZONE_VLAN ON SEC_ZONE_VLAN.DIMNUMBERID = SO16.SERVICEOBJECT2OBJECT
--Fetching Global DMZ VLAN
LEFT OUTER JOIN SERVICEOBJECT SO17 ON SO17.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO17.SERVICEOBJECT2RELATION = 1955100032
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_VLAN ON GLBL_DMZ_VLAN.DIMNUMBERID = SO17.SERVICEOBJECT2OBJECT
--Fetching Customer DMZ VLAN
LEFT OUTER JOIN SERVICEOBJECT SO18 ON SO18.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO18.SERVICEOBJECT2RELATION = 1955100027
LEFT OUTER JOIN DIMNUMBER CUST_DMZ_VLAN ON CUST_DMZ_VLAN.DIMNUMBERID = SO18.SERVICEOBJECT2OBJECT
--Fetching Main SBC Node
LEFT OUTER JOIN SERVICEOBJECT SO19 ON SO19.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO19.SERVICEOBJECT2RELATION = 1955100044
LEFT OUTER JOIN NODE MAIN_SBC ON MAIN_SBC.NODEID = SO19.SERVICEOBJECT2OBJECT
--Fetching REVERSEPROXYURL for SMAUC port
LEFT OUTER JOIN SERVICE_EXT_SMAUC EXT_SMAUC ON EXT_SMAUC.SERVICEID = SMAUC1.SERVICEID
GROUP BY SMAUC1.SERVICEID,
SEC_SUBNET.NAME,
GLBL_DMZ_SUBNET.NAME,
GLBL_DMZ_IP.NAME,
CUST_DMZ_SUBNET.NAME,
CUST_PUB_IP.NAME,
CUST_PUB_SBC.NAME,
PUB_REV_PRX.NAME,
CUST_ACC_SUB.NAME,
EXT_SMAUC.REVERSEPROXYURL,
CUST_ACS_VLAN.VALUETO,
SEC_ZONE_VLAN.VALUETO,
GLBL_DMZ_VLAN.VALUETO,
CUST_DMZ_VLAN.VALUETO,
MAIN_SBC.NAME
)
SELECT SUAS_INFO.SUAS_SERVICE,
SUAS_INFO.SUBSCRIBER_NAME,
SUAS_INFO.SMAUC_SERVICE,
SUAS_INFO.SIPVPN_MAIN_SERVICE,
SUAS_INFO.SIPVPN_RED_SERVICE,
SMAUC_REL.SID_MAIN_NAME,
SMAUC_REL.SID_RED_NAME,
SUAS_INFO.SIPSBV_MAIN,
SUAS_INFO.SIPSBV_RED,
SMAUC_REL.CUST_ACCZONE_VLAN,
SMAUC_REL.CUST_ACC_SUBNET,
SMAUC_REL.SEC_ZONE_VLAN,
SMAUC_REL.SEC_SUBNET,
SMAUC_REL.GLBL_DMZ_VLAN,
SMAUC_REL.GLBL_DMZ_SUBNET,
SMAUC_REL.GLBL_DMZ_ZONE_IP GLBL_DMZ_ZONE_IP,
SMAUC_REL.CUST_DMZ_VLAN,
SMAUC_REL.CUST_DMZ_SUBNET,
SMAUC_REL.CUST_PUB_IP_EDGE,
SMAUC_REL.CUST_PUB_SBC_B2B_IP,
SMAUC_REL.PUBLIC_REVRS_PRXY_MOB_IP,
SMAUC_REL.CUST_REVERSEPROXYURL,
SUAS_INFO.SBC_PORT_NO,
SMAUC_REL.MAIN_SBC_DEVICE
FROM SUAS_INFO
LEFT OUTER JOIN SMAUC_REL ON SMAUC_REL.SMAUC_SERVICEID = SUAS_INFO.SMAUC_SERVICE_ID
ORDER BY SUAS_INFO.SUAS_SERVICE
查询:版本1(效果10.327)
WITH SUAS_INFO AS
--Get SUAS service details
(SELECT S.NAME SUAS_SERVICE,S.SERVICEID SUAS_SERVICE_ID,SUB.NAME SUBSCRIBER_NAME,SMAUC.SERVICEID SMAUC_SERVICE_ID,SMAUC.NAME SMAUC_SERVICE,SIPVPN_MAIN.NAME SIPVPN_MAIN_SERVICE,SIPVPN_RED.NAME SIPVPN_RED_SERVICE,SIPSBV.NAME SIPSBV_MAIN,SIPSBV_RED.NAME SIPSBV_RED
FROM SERVICE S
JOIN SUBSCRIBER SUB
ON SUB.SUBSCRIBERID=S.SERVICE2SUBSCRIBER
AND S.SERVICE2SERVICETYPE=1955100016
--Fetching SMAUC service
LEFT OUTER JOIN SERVICEOBJECT SO1 ON SO1.SERVICEOBJECT2SERVICE=S.SERVICEID
AND SO1.SERVICEOBJECT2RELATION=1955100029
LEFT OUTER JOIN SERVICE SMAUC ON SMAUC.SERVICEID=SO1.SERVICEOBJECT2OBJECT
--Fetching SIPVPN MAIN service
LEFT OUTER JOIN SERVICEOBJECT SO2 ON SO2.SERVICEOBJECT2SERVICE=S.SERVICEID
AND SO2.SERVICEOBJECT2RELATION=1955100023
LEFT OUTER JOIN SERVICE SIPVPN_MAIN ON SIPVPN_MAIN.SERVICEID=SO2.SERVICEOBJECT2OBJECT
--Fetching SIPVPN Redundant service
LEFT OUTER JOIN SERVICEOBJECT SO3 ON SO3.SERVICEOBJECT2SERVICE=S.SERVICEID
AND SO3.SERVICEOBJECT2RELATION=1955100042
LEFT OUTER JOIN SERVICE SIPVPN_RED ON SIPVPN_RED.SERVICEID=SO3.SERVICEOBJECT2OBJECT
--Fetching SBV SIP Trunk IMS service
LEFT OUTER JOIN SERVICEOBJECT SO4 ON SO4.SERVICEOBJECT2SERVICE=S.SERVICEID
AND SO4.SERVICEOBJECT2RELATION=1955100030
LEFT OUTER JOIN SERVICE SIPSBV ON SIPSBV.SERVICEID=SO4.SERVICEOBJECT2OBJECT
--Fetching Redundant SBV SIP Trunk IMS service
LEFT OUTER JOIN SERVICEOBJECT SO5 ON SO5.SERVICEOBJECT2SERVICE=S.SERVICEID
AND SO5.SERVICEOBJECT2RELATION=1955100031
LEFT OUTER JOIN SERVICE SIPSBV_RED ON SIPSBV_RED.SERVICEID=SO5.SERVICEOBJECT2OBJECT
),
SMAUC_REL AS
(SELECT SMAUC1.SERVICEID SMAUC_SERVICEID,SID_MAIN.NAME SID_MAIN_NAME,SID_RED.NAME SID_RED_NAME,SEC_SUBNET.NAME SEC_SUBNET,GLBL_DMZ_SUBNET.NAME GLBL_DMZ_SUBNET,GLBL_DMZ_IP.NAME GLBL_DMZ_ZONE_IP,
CUST_DMZ_SUBNET.NAME CUST_DMZ_SUBNET,CUST_PUB_IP.NAME CUST_PUB_IP_EDGE,CUST_PUB_SBC.NAME CUST_PUB_SBC_B2B_IP,PUB_REV_PRX.NAME PUBLIC_REVRS_PRXY_MOB_IP,CUST_ACC_SUB.NAME CUST_ACC_SUBNET,EXT_SMAUC.REVERSEPROXYURL CUST_REVERSEPROXYURL,
CUST_ACS_VLAN.VALUETO CUST_ACCZONE_VLAN,SEC_ZONE_VLAN.VALUETO SEC_ZONE_VLAN,GLBL_DMZ_VLAN.VALUETO GLBL_DMZ_VLAN,CUST_DMZ_VLAN.VALUETO CUST_DMZ_VLAN
FROM SERVICE SMAUC1
--Fetching SID Main service
LEFT OUTER JOIN SERVICEOBJECT SO6 ON SO6.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO6.SERVICEOBJECT2RELATION=1955100039
LEFT OUTER JOIN SERVICE SID_MAIN ON SID_MAIN.SERVICEID=SO6.SERVICEOBJECT2OBJECT
--Fetching SID Redundant service
LEFT OUTER JOIN SERVICEOBJECT SO7 ON SO7.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO7.SERVICEOBJECT2RELATION=1955100038
LEFT OUTER JOIN SERVICE SID_RED ON SID_RED.SERVICEID=SO7.SERVICEOBJECT2OBJECT
--Fetching Secure Zone Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO8 ON SO8.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO8.SERVICEOBJECT2RELATION=1955100041
LEFT OUTER JOIN DIMNUMBER SEC_SUBNET ON SEC_SUBNET.DIMNUMBERID=SO8.SERVICEOBJECT2OBJECT
--Fetching Global DMZ Zone Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO9 ON SO9.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO9.SERVICEOBJECT2RELATION=1955100036
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_SUBNET ON GLBL_DMZ_SUBNET.DIMNUMBERID=SO9.SERVICEOBJECT2OBJECT
--Fetching Customer DMZ Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO10 ON SO10.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO10.SERVICEOBJECT2RELATION=1955100028
LEFT OUTER JOIN DIMNUMBER CUST_DMZ_SUBNET ON CUST_DMZ_SUBNET.DIMNUMBERID=SO10.SERVICEOBJECT2OBJECT
--Fetching Global DMZ Zone IP Number
LEFT OUTER JOIN SERVICEOBJECT SO_11 ON SO_11.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO_11.SERVICEOBJECT2RELATION=1955100043
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_IP ON GLBL_DMZ_IP.DIMNUMBERID=SO_11.SERVICEOBJECT2OBJECT
--Fetching Customer Public Edge IP Number
LEFT OUTER JOIN SERVICEOBJECT SO11 ON SO11.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO11.SERVICEOBJECT2RELATION=1955100024
LEFT OUTER JOIN DIMNUMBER CUST_PUB_IP ON CUST_PUB_IP.DIMNUMBERID=SO11.SERVICEOBJECT2OBJECT
--Fetching Customer Public SBC B2B IP Number
LEFT OUTER JOIN SERVICEOBJECT SO12 ON SO12.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO12.SERVICEOBJECT2RELATION=1955100026
LEFT OUTER JOIN DIMNUMBER CUST_PUB_SBC ON CUST_PUB_SBC.DIMNUMBERID=SO12.SERVICEOBJECT2OBJECT
--Fetching Public Reverse Proxy Mobile Access IP Number
LEFT OUTER JOIN SERVICEOBJECT SO13 ON SO13.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO13.SERVICEOBJECT2RELATION=1955100033
LEFT OUTER JOIN DIMNUMBER PUB_REV_PRX ON PUB_REV_PRX.DIMNUMBERID=SO13.SERVICEOBJECT2OBJECT
--Fetching Customer Access Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO14 ON SO14.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO14.SERVICEOBJECT2RELATION=1955100035
LEFT OUTER JOIN DIMNUMBER CUST_ACC_SUB ON CUST_ACC_SUB.DIMNUMBERID=SO14.SERVICEOBJECT2OBJECT
--Fetching Customer Access Zone VLAN
LEFT OUTER JOIN SERVICEOBJECT SO15 ON SO15.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO15.SERVICEOBJECT2RELATION=1955100034
LEFT OUTER JOIN DIMNUMBER CUST_ACS_VLAN ON CUST_ACS_VLAN.DIMNUMBERID=SO15.SERVICEOBJECT2OBJECT
--Fetching Customer Secured Zone VLAN
LEFT OUTER JOIN SERVICEOBJECT SO16 ON SO16.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO16.SERVICEOBJECT2RELATION=1955100040
LEFT OUTER JOIN DIMNUMBER SEC_ZONE_VLAN ON SEC_ZONE_VLAN.DIMNUMBERID=SO16.SERVICEOBJECT2OBJECT
--Fetching Global DMZ VLAN
LEFT OUTER JOIN SERVICEOBJECT SO17 ON SO17.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO17.SERVICEOBJECT2RELATION=1955100032
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_VLAN ON GLBL_DMZ_VLAN.DIMNUMBERID=SO17.SERVICEOBJECT2OBJECT
--Fetching Customer DMZ VLAN
LEFT OUTER JOIN SERVICEOBJECT SO17 ON SO17.SERVICEOBJECT2SERVICE=SMAUC1.SERVICEID
AND SO17.SERVICEOBJECT2RELATION=1955100027
LEFT OUTER JOIN DIMNUMBER CUST_DMZ_VLAN ON CUST_DMZ_VLAN.DIMNUMBERID=SO17.SERVICEOBJECT2OBJECT
--Fetching REVERSEPROXYURL for SMAUC port
LEFT OUTER JOIN SERVICE_EXT_SMAUC EXT_SMAUC ON EXT_SMAUC.SERVICEID=SMAUC1.SERVICEID
)
,
SBC_PORT AS(SELECT MAIN_TRUNK.NAME SBV_SERVICE,PORT_NO.NAME SBC_PORT_NO
FROM SERVICE MAIN_TRUNK LEFT OUTER JOIN SERVICEOBJECT SO
ON SO.SERVICEOBJECT2SERVICE=MAIN_TRUNK.SERVICEID
AND SO.SERVICEOBJECT2RELATION=3100000065
AND SO.SERVICEOBJECT2DIMOBJECT=3
JOIN CIRCUIT CKT ON CKT.CIRCUITID=SO.SERVICEOBJECT2OBJECT
LEFT OUTER JOIN NODE PBX ON PBX.NODE2NODEDEF=3100000000
AND PBX.NODEID IN (CKT.CIRCUIT2STARTNODE,CKT.CIRCUIT2ENDNODE)
LEFT OUTER JOIN PORT P ON P.PORTID=DECODE(PBX.NODEID,CKT.CIRCUIT2STARTNODE,CKT.CIRCUIT2STARTPORT,CKT.CIRCUIT2ENDPORT)
LEFT OUTER JOIN NUMBEROBJECT NOB ON NOB.NUMBEROBJECT2OBJECT=P.PORTID
AND NOB.NUMBEROBJECT2RELATION=3100000031
LEFT OUTER JOIN DIMNUMBER PORT_NO ON PORT_NO.DIMNUMBERID=NOB.NUMBEROBJECT2NUMBER)
SELECT SUAS_INFO.SUAS_SERVICE,SUAS_INFO.SUBSCRIBER_NAME,SUAS_INFO.SMAUC_SERVICE,SUAS_INFO.SIPVPN_MAIN_SERVICE,
SUAS_INFO.SIPVPN_RED_SERVICE,SUAS_INFO.SIPSBV_MAIN,SUAS_INFO.SIPSBV_RED,SMAUC_REL.SID_MAIN_NAME,SMAUC_REL.SID_RED_NAME,SMAUC_REL.CUST_ACC_SUBNET,
SMAUC_REL.SEC_SUBNET,SMAUC_REL.GLBL_DMZ_SUBNET,SMAUC_REL.GLBL_DMZ_ZONE_IP GLBL_DMZ_ZONE_IP,SMAUC_REL.CUST_DMZ_SUBNET,SMAUC_REL.CUST_PUB_IP_EDGE,SMAUC_REL.CUST_PUB_SBC_B2B_IP,
SMAUC_REL.PUBLIC_REVRS_PRXY_MOB_IP,SMAUC_REL.CUST_ACCZONE_VLAN,SMAUC_REL.SEC_ZONE_VLAN,SMAUC_REL.GLBL_DMZ_VLAN,SMAUC_REL.CUST_DMZ_VLAN,SMAUC_REL.CUST_REVERSEPROXYURL,
SBC.SBC_PORT_NO SBC_PORT_NUM
FROM SUAS_INFO
LEFT OUTER JOIN SMAUC_REL ON SMAUC_REL.SMAUC_SERVICEID=SUAS_INFO.SMAUC_SERVICE_ID
LEFT OUTER JOIN SBC_PORT SBC ON SBC.SBV_SERVICE=SUAS_INFO.SIPSBV_MAIN
ORDER BY SUAS_INFO.SUAS_SERVICE;
答案 0 :(得分:0)
通过SQL Tuning Advisor(如果获得许可)运行它。
此外,如果外部联接只是一个查找,您可以通过在选择列表中使用select语句来消除外部联接(这有时可以提高性能)。
答案 1 :(得分:0)
When confronted with a multi-part query such as yours, I would study each part independently - and make use of explain plans as I go.
For example, in your original query, the first CTE contains this:
SELECT
S.NAME SUAS_SERVICE
, S.SERVICEID SUAS_SERVICE_ID
, SUB.NAME SUBSCRIBER_NAME
, SMAUC.SERVICEID SMAUC_SERVICE_ID
, SMAUC.NAME SMAUC_SERVICE
, SIPVPN_MAIN.NAME SIPVPN_MAIN_SERVICE
, SIPVPN_RED.NAME SIPVPN_RED_SERVICE
, SIPSBV.NAME SIPSBV_MAIN
, SIPSBV_RED.NAME SIPSBV_RED
FROM SERVICE S
INNER JOIN SUBSCRIBER SUB ON SUB.SUBSCRIBERID = S.SERVICE2SUBSCRIBER AND S.SERVICE2SERVICETYPE = 1955100016
--Fetching SMAUC service
LEFT JOIN SERVICEOBJECT SO1 ON SO1.SERVICEOBJECT2SERVICE = S.SERVICEID AND SO1.SERVICEOBJECT2RELATION = 1955100029
LEFT JOIN SERVICE SMAUC ON SMAUC.SERVICEID = SO1.SERVICEOBJECT2OBJECT
--Fetching SIPVPN MAIN service
LEFT JOIN SERVICEOBJECT SO2 ON SO2.SERVICEOBJECT2SERVICE = S.SERVICEID AND SO2.SERVICEOBJECT2RELATION = 1955100023
LEFT JOIN SERVICE SIPVPN_MAIN ON SIPVPN_MAIN.SERVICEID = SO2.SERVICEOBJECT2OBJECT
--Fetching SIPVPN Redundant service
LEFT JOIN SERVICEOBJECT SO3 ON SO3.SERVICEOBJECT2SERVICE = S.SERVICEID AND SO3.SERVICEOBJECT2RELATION = 1955100042
LEFT JOIN SERVICE SIPVPN_RED ON SIPVPN_RED.SERVICEID = SO3.SERVICEOBJECT2OBJECT
--Fetching SBV SIP Trunk IMS service
LEFT JOIN SERVICEOBJECT SO4 ON SO4.SERVICEOBJECT2SERVICE = S.SERVICEID AND SO4.SERVICEOBJECT2RELATION = 1955100030
LEFT JOIN SERVICE SIPSBV ON SIPSBV.SERVICEID = SO4.SERVICEOBJECT2OBJECT
--Fetching Redundant SBV SIP Trunk IMS service
LEFT JOIN SERVICEOBJECT SO5 ON SO5.SERVICEOBJECT2SERVICE = S.SERVICEID AND SO5.SERVICEOBJECT2RELATION = 1955100031
LEFT JOIN SERVICE SIPSBV_RED ON SIPSBV_RED.SERVICEID = SO5.SERVICEOBJECT2OBJECT
Perhaps reducing the number of left joins will help?
SELECT
S1.NAME SUAS_SERVICE
, S1.SERVICEID SUAS_SERVICE_ID
, SUB.NAME SUBSCRIBER_NAME
, listagg(case when SO.SERVICEOBJECT2RELATION = 1955100029 then s2.SERVICEID end, ',') SMAUC_SERVICE_ID
, listagg(case when SO.SERVICEOBJECT2RELATION = 1955100029 then s2.NAME end, ',') SMAUC_SERVICE
, listagg(case when SO.SERVICEOBJECT2RELATION = 1955100023 then s2.NAME end, ',') SIPVPN_MAIN_SERVICE
, listagg(case when SO.SERVICEOBJECT2RELATION = 1955100042 then s2.NAME end, ',') SIPVPN_RED_SERVICE
, listagg(case when SO.SERVICEOBJECT2RELATION = 1955100030 then s2.NAME end, ',') SIPSBV_MAIN
, listagg(case when SO.SERVICEOBJECT2RELATION = 1955100031 then s2.NAME end, ',') SIPSBV_RED
FROM SERVICE S1
INNER JOIN SUBSCRIBER SUB ON SUB.SUBSCRIBERID = S1.SERVICE2SUBSCRIBER
LEFT JOIN SERVICEOBJECT SO ON SO.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO.SERVICEOBJECT2RELATION IN (1955100029 , 1955100029, 1955100023, 1955100042, 1955100030, 1955100031)
LEFT JOIN SERVICE S2 ON SMAUC.SERVICEID = SO.SERVICEOBJECT2OBJECT
WHERE S1.SERVICE2SERVICETYPE = 1955100016
GROUP BY
S1.NAME
, S1.SERVICEID
, SUB.NAME
Add the regexp_relace as needed.
Continue to the next CTE.
答案 2 :(得分:0)
通过@ Used-By-Already给出的小提示,我可以在查询中做一些调整,它确实解决了我的问题。 在我的查询中没有注意到一个重要的过滤器。
/* Formatted on 11.20.2018 5:10:07 (QP5 v5.300) */
WITH SUAS_INFO
AS --Get SUAS service details
( SELECT S.NAME SUAS_SERVICE,
S.SERVICEID SUAS_SERVICE_ID,
SUB.NAME SUBSCRIBER_NAME,
SMAUC.SERVICEID SMAUC_SERVICE_ID,
SMAUC.NAME SMAUC_SERVICE,
REGEXP_REPLACE (
LISTAGG (SIPVPN_MAIN.NAME, ',')
WITHIN GROUP (ORDER BY SIPVPN_MAIN.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3')
SIPVPN_MAIN_SERVICE,
REGEXP_REPLACE (
LISTAGG (SIPVPN_RED.NAME, ',')
WITHIN GROUP (ORDER BY SIPVPN_RED.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3')
SIPVPN_RED_SERVICE,
REGEXP_REPLACE (
LISTAGG (SIPSBV.NAME, ',')
WITHIN GROUP (ORDER BY SIPSBV.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3')
SIPSBV_MAIN,
REGEXP_REPLACE (
LISTAGG (SIPSBV_RED.NAME, ',')
WITHIN GROUP (ORDER BY SIPSBV_RED.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3')
SIPSBV_RED,
REGEXP_REPLACE (
LISTAGG (PORT_NO.NAME, ',')
WITHIN GROUP (ORDER BY PORT_NO.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3')
SBC_PORT_NO
FROM SERVICE S
JOIN SUBSCRIBER SUB
ON SUB.SUBSCRIBERID = S.SERVICE2SUBSCRIBER
--Fetching SMAUC service
LEFT OUTER JOIN SERVICEOBJECT SO1
ON SO1.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO1.SERVICEOBJECT2RELATION = 1955100029
LEFT OUTER JOIN SERVICE SMAUC
ON SMAUC.SERVICEID = SO1.SERVICEOBJECT2OBJECT
--Fetching SIPVPN MAIN service
LEFT OUTER JOIN SERVICEOBJECT SO2
ON SO2.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO2.SERVICEOBJECT2RELATION = 1955100023
LEFT OUTER JOIN SERVICE SIPVPN_MAIN
ON SIPVPN_MAIN.SERVICEID = SO2.SERVICEOBJECT2OBJECT
--Fetching SIPVPN Redundant service
LEFT OUTER JOIN SERVICEOBJECT SO3
ON SO3.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO3.SERVICEOBJECT2RELATION = 1955100042
LEFT OUTER JOIN SERVICE SIPVPN_RED
ON SIPVPN_RED.SERVICEID = SO3.SERVICEOBJECT2OBJECT
--Fetching SBV SIP Trunk IMS service
LEFT OUTER JOIN SERVICEOBJECT SO4
ON SO4.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO4.SERVICEOBJECT2RELATION = 1955100030
LEFT OUTER JOIN SERVICE SIPSBV
ON SIPSBV.SERVICEID = SO4.SERVICEOBJECT2OBJECT
--Fetching Redundant SBV SIP Trunk IMS service
LEFT OUTER JOIN SERVICEOBJECT SO5
ON SO5.SERVICEOBJECT2SERVICE = S.SERVICEID
AND SO5.SERVICEOBJECT2RELATION = 1955100031
LEFT OUTER JOIN SERVICE SIPSBV_RED
ON SIPSBV_RED.SERVICEID = SO5.SERVICEOBJECT2OBJECT
-- Fetching SBC Port details
LEFT OUTER JOIN SERVICEOBJECT SO6
ON SO6.SERVICEOBJECT2SERVICE = SIPSBV.SERVICEID
AND SO6.SERVICEOBJECT2RELATION = 3100000065
AND SO6.SERVICEOBJECT2DIMOBJECT = 3
LEFT OUTER JOIN CIRCUIT CKT
ON CKT.CIRCUITID = SO6.SERVICEOBJECT2OBJECT
LEFT OUTER JOIN NODE PBX
ON PBX.NODE2NODEDEF = 3100000000
AND PBX.NODEID IN
(CKT.CIRCUIT2STARTNODE, CKT.CIRCUIT2ENDNODE)
LEFT OUTER JOIN PORT P
ON P.PORTID =
DECODE (
PBX.NODEID,
CKT.CIRCUIT2STARTNODE, CKT.CIRCUIT2STARTPORT,
CKT.CIRCUIT2ENDPORT)
LEFT OUTER JOIN NUMBEROBJECT NOB
ON NOB.NUMBEROBJECT2OBJECT = P.PORTID
AND NOB.NUMBEROBJECT2RELATION = 3100000031
LEFT OUTER JOIN DIMNUMBER PORT_NO
ON PORT_NO.DIMNUMBERID = NOB.NUMBEROBJECT2NUMBER
WHERE S.SERVICE2SERVICETYPE = 1955100016
GROUP BY S.NAME,
S.SERVICEID,
SUB.NAME,
SMAUC.SERVICEID,
SMAUC.NAME),
SMAUC_REL
AS ( SELECT SMAUC1.SERVICEID SMAUC_SERVICEID,
REGEXP_REPLACE (
LISTAGG (SID_MAIN.NAME, ',')
WITHIN GROUP (ORDER BY SID_MAIN.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3')
SID_MAIN_NAME,
REGEXP_REPLACE (
LISTAGG (SID_RED.NAME, ',')
WITHIN GROUP (ORDER BY SID_RED.NAME),
'([^,]+)(,\1)*(,|$)',
'\1\3')
SID_RED_NAME,
SEC_SUBNET.NAME SEC_SUBNET,
GLBL_DMZ_SUBNET.NAME GLBL_DMZ_SUBNET,
GLBL_DMZ_IP.NAME GLBL_DMZ_ZONE_IP,
CUST_DMZ_SUBNET.NAME CUST_DMZ_SUBNET,
CUST_PUB_IP.NAME CUST_PUB_IP_EDGE,
CUST_PUB_SBC.NAME CUST_PUB_SBC_B2B_IP,
PUB_REV_PRX.NAME PUBLIC_REVRS_PRXY_MOB_IP,
CUST_ACC_SUB.NAME CUST_ACC_SUBNET,
EXT_SMAUC.REVERSEPROXYURL CUST_REVERSEPROXYURL,
CUST_ACS_VLAN.VALUETO CUST_ACCZONE_VLAN,
SEC_ZONE_VLAN.VALUETO SEC_ZONE_VLAN,
GLBL_DMZ_VLAN.VALUETO GLBL_DMZ_VLAN,
CUST_DMZ_VLAN.VALUETO CUST_DMZ_VLAN,
MAIN_SBC.NAME MAIN_SBC_DEVICE
FROM SERVICE SMAUC1
--Fetching SID Main service
LEFT OUTER JOIN SERVICEOBJECT SO6
ON SO6.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO6.SERVICEOBJECT2RELATION = 1955100039
LEFT OUTER JOIN SERVICE SID_MAIN
ON SID_MAIN.SERVICEID = SO6.SERVICEOBJECT2OBJECT
--Fetching SID Redundant service
LEFT OUTER JOIN SERVICEOBJECT SO7
ON SO7.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO7.SERVICEOBJECT2RELATION = 1955100038
LEFT OUTER JOIN SERVICE SID_RED
ON SID_RED.SERVICEID = SO7.SERVICEOBJECT2OBJECT
--Fetching Secure Zone Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO8
ON SO8.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO8.SERVICEOBJECT2RELATION = 1955100041
LEFT OUTER JOIN DIMNUMBER SEC_SUBNET
ON SEC_SUBNET.DIMNUMBERID = SO8.SERVICEOBJECT2OBJECT
--Fetching Global DMZ Zone Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO9
ON SO9.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO9.SERVICEOBJECT2RELATION = 1955100036
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_SUBNET
ON GLBL_DMZ_SUBNET.DIMNUMBERID = SO9.SERVICEOBJECT2OBJECT
--Fetching Customer DMZ Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO10
ON SO10.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO10.SERVICEOBJECT2RELATION = 1955100028
LEFT OUTER JOIN DIMNUMBER CUST_DMZ_SUBNET
ON CUST_DMZ_SUBNET.DIMNUMBERID =
SO10.SERVICEOBJECT2OBJECT
--Fetching Global DMZ Zone IP Number
LEFT OUTER JOIN SERVICEOBJECT SO_11
ON SO_11.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO_11.SERVICEOBJECT2RELATION = 1955100043
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_IP
ON GLBL_DMZ_IP.DIMNUMBERID = SO_11.SERVICEOBJECT2OBJECT
--Fetching Customer Public Edge IP Number
LEFT OUTER JOIN SERVICEOBJECT SO11
ON SO11.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO11.SERVICEOBJECT2RELATION = 1955100024
LEFT OUTER JOIN DIMNUMBER CUST_PUB_IP
ON CUST_PUB_IP.DIMNUMBERID = SO11.SERVICEOBJECT2OBJECT
--Fetching Customer Public SBC B2B IP Number
LEFT OUTER JOIN SERVICEOBJECT SO12
ON SO12.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO12.SERVICEOBJECT2RELATION = 1955100026
LEFT OUTER JOIN DIMNUMBER CUST_PUB_SBC
ON CUST_PUB_SBC.DIMNUMBERID = SO12.SERVICEOBJECT2OBJECT
--Fetching Public Reverse Proxy Mobile Access IP Number
LEFT OUTER JOIN SERVICEOBJECT SO13
ON SO13.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO13.SERVICEOBJECT2RELATION = 1955100033
LEFT OUTER JOIN DIMNUMBER PUB_REV_PRX
ON PUB_REV_PRX.DIMNUMBERID = SO13.SERVICEOBJECT2OBJECT
--Fetching Customer Access Subnet Number
LEFT OUTER JOIN SERVICEOBJECT SO14
ON SO14.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO14.SERVICEOBJECT2RELATION = 1955100035
LEFT OUTER JOIN DIMNUMBER CUST_ACC_SUB
ON CUST_ACC_SUB.DIMNUMBERID = SO14.SERVICEOBJECT2OBJECT
--Fetching Customer Access Zone VLAN
LEFT OUTER JOIN SERVICEOBJECT SO15
ON SO15.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO15.SERVICEOBJECT2RELATION = 1955100034
LEFT OUTER JOIN DIMNUMBER CUST_ACS_VLAN
ON CUST_ACS_VLAN.DIMNUMBERID = SO15.SERVICEOBJECT2OBJECT
--Fetching Customer Secured Zone VLAN
LEFT OUTER JOIN SERVICEOBJECT SO16
ON SO16.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO16.SERVICEOBJECT2RELATION = 1955100040
LEFT OUTER JOIN DIMNUMBER SEC_ZONE_VLAN
ON SEC_ZONE_VLAN.DIMNUMBERID = SO16.SERVICEOBJECT2OBJECT
--Fetching Global DMZ VLAN
LEFT OUTER JOIN SERVICEOBJECT SO17
ON SO17.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO17.SERVICEOBJECT2RELATION = 1955100032
LEFT OUTER JOIN DIMNUMBER GLBL_DMZ_VLAN
ON GLBL_DMZ_VLAN.DIMNUMBERID = SO17.SERVICEOBJECT2OBJECT
--Fetching Customer DMZ VLAN
LEFT OUTER JOIN SERVICEOBJECT SO18
ON SO18.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO18.SERVICEOBJECT2RELATION = 1955100027
LEFT OUTER JOIN DIMNUMBER CUST_DMZ_VLAN
ON CUST_DMZ_VLAN.DIMNUMBERID = SO18.SERVICEOBJECT2OBJECT
--Fetching Main SBC Node
LEFT OUTER JOIN SERVICEOBJECT SO19
ON SO19.SERVICEOBJECT2SERVICE = SMAUC1.SERVICEID
AND SO19.SERVICEOBJECT2RELATION = 1955100044
LEFT OUTER JOIN NODE MAIN_SBC
ON MAIN_SBC.NODEID = SO19.SERVICEOBJECT2OBJECT
--Fetching REVERSEPROXYURL for SMAUC port
LEFT OUTER JOIN SERVICE_EXT_SMAUC EXT_SMAUC
ON EXT_SMAUC.SERVICEID = SMAUC1.SERVICEID
WHERE SMAUC1.SERVICE2SERVICETYPE = 1955100017
GROUP BY SMAUC1.SERVICEID,
SEC_SUBNET.NAME,
GLBL_DMZ_SUBNET.NAME,
GLBL_DMZ_IP.NAME,
CUST_DMZ_SUBNET.NAME,
CUST_PUB_IP.NAME,
CUST_PUB_SBC.NAME,
PUB_REV_PRX.NAME,
CUST_ACC_SUB.NAME,
EXT_SMAUC.REVERSEPROXYURL,
CUST_ACS_VLAN.VALUETO,
SEC_ZONE_VLAN.VALUETO,
GLBL_DMZ_VLAN.VALUETO,
CUST_DMZ_VLAN.VALUETO,
MAIN_SBC.NAME)
SELECT SUAS_INFO.SUAS_SERVICE,
SUAS_INFO.SUBSCRIBER_NAME,
SUAS_INFO.SMAUC_SERVICE,
SUAS_INFO.SIPVPN_MAIN_SERVICE,
SUAS_INFO.SIPVPN_RED_SERVICE,
SMAUC_REL.SID_MAIN_NAME,
SMAUC_REL.SID_RED_NAME,
SUAS_INFO.SIPSBV_MAIN,
SUAS_INFO.SIPSBV_RED,
SMAUC_REL.CUST_ACCZONE_VLAN,
SMAUC_REL.CUST_ACC_SUBNET,
SMAUC_REL.SEC_ZONE_VLAN,
SMAUC_REL.SEC_SUBNET,
SMAUC_REL.GLBL_DMZ_VLAN,
SMAUC_REL.GLBL_DMZ_SUBNET,
SMAUC_REL.GLBL_DMZ_ZONE_IP GLBL_DMZ_ZONE_IP,
SMAUC_REL.CUST_DMZ_VLAN,
SMAUC_REL.CUST_DMZ_SUBNET,
SMAUC_REL.CUST_PUB_IP_EDGE,
SMAUC_REL.CUST_PUB_SBC_B2B_IP,
SMAUC_REL.PUBLIC_REVRS_PRXY_MOB_IP,
SMAUC_REL.CUST_REVERSEPROXYURL,
SUAS_INFO.SBC_PORT_NO,
SMAUC_REL.MAIN_SBC_DEVICE
FROM SUAS_INFO
LEFT OUTER JOIN SMAUC_REL
ON SMAUC_REL.SMAUC_SERVICEID = SUAS_INFO.SMAUC_SERVICE_ID
ORDER BY SUAS_INFO.SUAS_SERVICE;