PLSQL外键悲剧

it2022-05-08  11

SELECT DISTINCT GE.APPLY_TYPE_ID,P.*,                  GE.ENDO_ID GEN_ENDO_ID,                  S.STATUS_NAME,                  R.BIZ_PRDT_CODE,                  TO_CHAR(GE.EFF_DATE, 'dd/mm/yyyy') ENDO_EFF_DATE,                  GE.CREATOR_ID ENDO_CREAOR    FROM T_POLICY_GENERAL_LOG P,         T_GEN_POLICY_STATUS  S,         T_PRODUCT_GENERAL    R,         T_GEDO_ENDORSEMENT   GE   WHERE S.STATUS_ID = P.STATUS_ID     AND P.PRODUCT_ID = R.PRODUCT_ID     AND P.POLICY_CATE != 2     AND P.POLICY_NO = '75041472'     AND P.INSERT_TIME >= TO_DATE(' 05/01/2011 ', 'dd/MM/yyyy')     AND P.INSERT_TIME <= TO_DATE('12/01/2011 ', 'dd/MM/yyyy') + 1     AND P.ENDO_ID = GE.NEXT_ENDO_ID(+)     AND P.BACKUP_FLAG = 1     AND (GE.TYPE_ID <> 32 OR GE.TYPE_ID IS NULL)     --外连接悲剧     --不能怎么写,这样得到的数据时空的     --AND GE.APPLY_TYPE_ID <>12     --要加GE.APPLY_TYPE_ID IS NULL     AND (GE.APPLY_TYPE_ID <>12 OR GE.APPLY_TYPE_ID IS NULL)     --AND GE.NEXT_ENDO_ID <> 96816     AND (GE.STATUS_ID IS NULL OR GE.STATUS_ID NOT IN (150, 400, 250))   ORDER BY P.INSERT_TIME DESC ;

不添条件 AND (GE.APPLY_TYPE_ID <>12 OR GE.APPLY_TYPE_ID IS NULL) 数据:

 

  APPLY_TYPE_ID ENDO_ID BACKUP_FLAG POLICY_ID PRODUCT_ID POLICY_CATE 12 96817 1 442681 1000004533 1 null 96816 1 442681 1000004533 1

 

 

 

转载于:https://www.cnblogs.com/zenghanxi/archive/2011/01/12/1934012.html

相关资源:PLSQLDeveloper 绿色版 64位 解压版(含说明)

最新回复(0)