当前位置: 代码迷 >> Oracle开发 >> 请问大神,这段SQL写的觉得太复杂,能否再优化,最好能把优化后的SQL写出来,oracle数据库
  详细解决方案

请问大神,这段SQL写的觉得太复杂,能否再优化,最好能把优化后的SQL写出来,oracle数据库

热度:116   发布时间:2016-04-24 06:35:23.0
请教大神,这段SQL写的觉得太复杂,能否再优化,最好能把优化后的SQL写出来,oracle数据库。
SELECT *
  FROM (SELECT B.P_ORG_NO, COUNT(1)
          FROM (SELECT A.ORG_ID,
                       A.ORG_SORT,
                       A.ORG_NO_5,
                       A.P_ORG_NO_5,
                       B.ORG_NO     ORG_NO_4,
                       B.P_ORG_NO   P_ORG_NO_4
                  FROM (SELECT A.ORG_ID,
                               A.ORG_SORT,
                               B.ORG_NO   ORG_NO_5,
                               B.P_ORG_NO P_ORG_NO_5
                          FROM (SELECT R.ORG_ID, R.ORG_SORT
                                  FROM R_DATA_ARCHIVING R,
                                       (SELECT ORG_NO, P_ORG_NO
                                          FROM R_O_ORG
                                         WHERE ORG_TYPE = '5'
                                         START WITH P_ORG_NO = '9999'
                                        CONNECT BY PRIOR ORG_NO = P_ORG_NO) D
                                 WHERE R.ORG_ID = D.ORG_NO
                                   AND (R.ORG_SORT = 'A' OR
                                       R.ORG_SORT = 'A类' AND
                                       TO_CHAR(R.DATA_DATE, 'yyyy') = '2014')
                                 GROUP BY R.ORG_ID, R.ORG_SORT) A,
                               (SELECT ORG_NO, P_ORG_NO
                                  FROM R_O_ORG
                                 WHERE ORG_TYPE = '5'
                                 START WITH P_ORG_NO = '9999'
                                CONNECT BY PRIOR ORG_NO = P_ORG_NO) B
  相关解决方案