oracle view left outer join 问题

CREATE OR REPLACE VIEW EMS_EMEASURE_WEEK_VIEW AS

(SELECT T1.EMS_EMPL_INFO_WEEK_ID,

       T1.E_MEASURE_ID,

       T1.DAY_IN_YEAR,

       EMS_EMEASURE_AMPM_VIEW.BIZ,

       EMS_EMEASURE_AMPM_VIEW.PRONAME,

       EMS_EMEASURE_AMPM_VIEW.PM,

       EMS_EMEASURE_AMPM_VIEW.PMID,

       EMS_EMEASURE_AMPM_VIEW.AM,

       EMS_EMEASURE_AMPM_VIEW.AMID

  FROM (SELECT EMS_EMPL_INFO_WEEK.EMS_EMPL_INFO_WEEK_ID,

               EMS_EMPL_INFO_WEEK.E_MEASURE_ID,

               EMS_EMPL_INFO_WEEK.DAY_IN_YEAR

          FROM EMS_EMPL_INFO_WEEK

         WHERE EMS_EMPL_INFO_WEEK.E_MEASURE_ID IS NOT NULL) T1

  LEFT OUTER JOIN EMS_EMEASURE_AMPM_VIEW ON T1.E_MEASURE_ID =

                                            EMS_EMEASURE_AMPM_VIEW.EID)

 使用另一张表和该view左连接

SELECT T1.DATE_VALUE,

       T2.DAY_IN_YEAR,

       T2.EMS_EMPL_INFO_WEEK_ID,

       T2.E_MEASURE_ID

  FROM (SELECT DATE_DIM.DATE_VALUE

          FROM DATE_DIM

         WHERE DATE_DIM.DATE_VALUE = TO_DATE('11/16/2011', 'MM/DD/YYYY')) T1

  LEFT OUTER JOIN (SELECT *

                     FROM EMS_EMEASURE_WEEK_VIEW

                    WHERE EMS_EMEASURE_WEEK_VIEW.DAY_IN_YEAR =

                          TO_DATE('11/16/2011', 'MM/DD/YYYY')) T2 ON T1.DATE_VALUE =

                                                                     T2.DAY_IN_YEAR    

 出来3w+条数据

如果不是用view而是直接使用表连接

SELECT T1.DATE_VALUE,

       T2.DAY_IN_YEAR,

       T2.EMS_EMPL_INFO_WEEK_ID,

       T2.E_MEASURE_ID

  FROM (SELECT DATE_DIM.DATE_VALUE

          FROM DATE_DIM

         WHERE DATE_DIM.DATE_VALUE = TO_DATE('11/16/2011', 'MM/DD/YYYY')) T1

  LEFT OUTER JOIN (SELECT *

                     FROM EMS_EMPL_INFO_WEEK

                    WHERE EMS_EMPL_INFO_WEEK.DAY_IN_YEAR =

                          TO_DATE('11/16/2011', 'MM/DD/YYYY')

                      AND EMS_EMPL_INFO_WEEK.E_MEASURE_ID IS NOT NULL) T2 ON T1.DATE_VALUE =

                                                                             T2.DAY_IN_YEAR

 却只有300+条正确的数据~

纠结了一天,无法解决。。。

你可能感兴趣的:(oracle)