SELECT a.*,
      COUNT(*) AS 'population'
    FROM   `course_degree` a
      LEFT JOIN course_package cp ON cp.`courOrDegrCode` = a.`DEGR_CODE`
      LEFT JOIN (SELECT *
        FROM contract_course_package
        WHERE CONT_PACK_STAR >= '2018-05-08'
        GROUP BY pack_code,
          chil_code) ccp ON ccp.`PACK_CODE` = cp.`PACK_CODE`
      LEFT JOIN contract c ON c.`cont_code` = ccp.`CONT_CODE`
      LEFT JOIN (SELECT  *
        FROM `fund_income_print` GROUP BY cont_code) f ON f.cont_code = c.`cont_code`
      LEFT JOIN
        (SELECT a.*,
            cp.cont_code,
            cp.pers_code,
            cp.pers_name
          FROM course_arrange a
            LEFT JOIN (SELECT *
              FROM  `course_person`
              WHERE cont_code IS NOT NULL) cp ON cp.pare_id = a.`AUTO_ID`
            LEFT JOIN sys_office o ON o.id = a.`TRAI_CODE`
          WHERE cp.cont_code IS NOT NULL AND a.`ARRA_DATE` >= '2018-05-08'
            AND ( o.id = 1 OR o.parent_ids LIKE CONCAT('%,', 1, ',%')) GROUP BY cp.pers_code,
            a.COUR_DEGR) ca ON ca.`COUR_DEGR` = a.`DEGR_CODE`
      LEFT JOIN sys_office o ON o.id = f.trai_code
    WHERE a.`del_flag` = 0
      AND f.inco_code IS NOT NULL
      AND ( o.id = 1 OR o.parent_ids LIKE CONCAT('%,', 1, ',%'))
    GROUP BY a.`DEGR_CODE`
如题
我想知道ca表left join 符合条件的有多少条

解决方案 »

  1.   

    SELECT a.*,
          COUNT(*) AS 'population'
        FROM `course_degree` a
          LEFT JOIN v_packcontfund p ON p.`pack_degr` = a.`DEGR_CODE`
          LEFT JOIN
            (SELECT *
              FROM v_sub_stu 
              WHERE  `ARRA_DATE` >= '2018-05-08'
                AND (trai_code = 1 OR parent_ids LIKE CONCAT('%,', 1, ',%'))
              GROUP BY pers_code, degr_code) ca ON ca.`degr_code` = a.`DEGR_CODE`
        WHERE a.`del_flag` = 0
          AND p.inco_code IS NOT NULL
          AND ( p.trai_code = 1 OR p.parent_ids LIKE CONCAT('%,', 1, ',%') )
        GROUP BY a.`DEGR_CODE`