写的第一个长sql,纪念下

来源:互联网 发布:电商部美工岗位说明书 编辑:程序博客网 时间:2024/04/27 14:46
select C_PD_CODE,
       C_PD_NAME,
       to_char(D_BEGIN, 'MM') AS D_MONTH,
       D_BEGIN,
       D_END,
       D_END - D_BEGIN AS D_MARGIN,
       D_SL_BEGIN,
       D_SL_END,
       C_DV_CUSTO_TYPE,
       C_ORG_CODE,
       N_PORT_COST,
       N_SYL,
       N_YIELD,
       C_ZJYWSR,
       C_YFSYLR
  FROM (SELECT DISTINCT M.C_PD_CODE,
                        M.C_PD_NAME,
                        M.D_BEGIN,
                        M.D_END,
                        M.D_SL_BEGIN,
                        M.D_SL_END,
                        M.C_DV_CUSTO_TYPE,
                        M.C_ORG_CODE,
                        N.N_PORT_COST,
                        A.N_SYL,
                        B.N_YIELD,
                        C.C_ZJYWSR,
                        D.C_YFSYLR
          FROM (SELECT PD.C_PD_CODE,
                       PD.C_PD_NAME,
                       PD.D_BEGIN,
                       PD.D_END,
                       PD.D_SL_BEGIN,
                       PD.D_SL_END,
                       PD.C_DV_CUSTO_TYPE,
                       PD.C_ORG_CODE
                  FROM T_L_PD_PRODUCT PD
                 WHERE pd.C_BRAND_CODE = 'LC_CF'
                   AND PD.n_Check_State = 1
                   AND PD.D_BEGIN between TO_DATE('20120101', 'yyyy-MM-dd') and
                       TO_DATE('20130605', 'yyyy-MM-dd')) M
          LEFT JOIN (SELECT DISTINCT AST.N_PORT_COST,
                                    AST.C_PORT_CODE,
                                    AST.D_ASTSTAT,
                                    AST.C_KM_CODE
                      FROM T_R_FR_ASTSTAT AST
                     WHERE AST.C_KEY_CODE = 'SSZB'
                       AND AST.C_KM_CODE = '811'
                       AND AST.D_ASTSTAT = TO_DATE('20130605', 'yyyy-MM-dd')
                       AND AST.N_PORT_COST != 0) N
            ON N.C_PORT_CODE = M.C_PD_CODE
          LEFT JOIN (select DISTINCT C_PD_CODE,
                                    wmsys.wm_concat(c_pd_code_cls || '款' || ':' ||
                                                    N_YIELD * 100 || '%') AS N_SYL
                      from t_l_pd_yield
                     group by c_pd_code) A
            ON A.C_PD_CODE = M.C_PD_CODE
          LEFT JOIN (SELECT DISTINCT C_PD_CODE, N_YIELD FROM T_L_PD_YIELD) B
            ON B.C_PD_CODE = M.C_PD_CODE
          LEFT JOIN (SELECT DISTINCT C_PORT_CODE, C_KM_NAME AS C_ZJYWSR
                      FROM T_R_FR_ASTSTAT
                     WHERE C_KEY_CODE = 'ZZYWSR'
                       AND D_ASTSTAT = TO_DATE('20130605', 'yyyy-MM-dd')
                       AND C_KM_CODE = '923') C
            ON C.C_PORT_CODE = M.C_PD_CODE
          LEFT JOIN (SELECT DISTINCT C_PORT_CODE, C_KM_NAME AS C_YFSYLR
                      FROM T_R_FR_ASTSTAT
                     WHERE C_KEY_CODE = 'YFTZZLR'
                       AND D_ASTSTAT = TO_DATE('20130605', 'yyyy-MM-dd')
                       AND C_KM_CODE = '922') D
            ON D.C_PORT_CODE = M.C_PD_CODE
         ORDER BY D_BEGIN)
原创粉丝点击