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