SQL

SELECT 
    T.DID AS DID ,
    T.YEAR AS YEAR,
    T.MONTH AS MONTH,
    T.UP_TIME AS UP_TIME,
    T.IN_NAME AS IN_NAME,
    T.IN_CODE AS IN_CODE ,
    T.C_NAME AS C_NAME,
    T.C_CODE AS C_CODE ,
    T.ORG_NAME AS ORG_NAME ,
    T.ORG_CODE AS ORG_CODE,
    (case when X.COUNT is null then 0 else X.COUNT end) as COUNT
FROM ( SELECT A.DID AS DID ,
              A.YEAR AS YEAR,
              A.MONTH AS MONTH,
              A.UP_TIME AS UP_TIME,
              B.IN_NAME AS IN_NAME,
              B.IN_CODE AS IN_CODE ,
              B.C_NAME AS C_NAME,
              B.C_CODE AS C_CODE ,
              B.ORG_NAME AS ORG_NAME ,
              B.ORG_CODE AS ORG_CODE
       FROM
            (SELECT DID,YEAR,MONTH,UP_TIME,
                    FACT_NAME,
                    FACT_CODE
             FROM CDA_FI_EQ_BOOK_M_LIST M
             WHERE 1=1
             AND NOT EXISTS
             (SELECT DID
                  FROM EQ_BOOK_M_CHECK_LOG L
                  WHERE 1=1
                  AND M.DID = L.DID)) A
             LEFT JOIN ORG_ORDER B ON A.FACT_CODE = B.ORG_CODE
             WHERE 1=1 ) T left join
(SELECT DID,COUNT(1) AS COUNT FROM CDA_FID_EQ_BOOK_M_1 Q group by DID HAVING NOT EXISTS(SELECT DID FROM EQ_BOOK_M_CHECK_LOG P WHERE 1=1 AND Q.DID = P.DID)) X on T.DID = X.DID

  

posted @ 2016-03-07 11:21  小琪子  阅读(135)  评论(0)    收藏  举报