SQL语句优化:统计客户、项目、跟进等数据
SELECT COUNT(DISTINCT CASE WHEN ec.state NOT IN ('U', 'D', 'R') THEN ec.customerCode END) AS newCustomer, COUNT(DISTINCT CASE WHEN cp.state NOT IN ('U', 'D', 'R') THEN cp.projectCode END) AS newProject, COUNT(DISTINCT CASE WHEN cf.state = 'A' AND cf.busiType != 6 AND cf.begTime IS NOT NULL AND cf.endTime IS NOT NULL THEN cf.customerCode END) AS newFollowup, COUNT(DISTINCT CASE WHEN cf.state = 'A' AND cf.busiType != 6 THEN cf.customerCode END) AS followup, COUNT(DISTINCT CASE WHEN cf.state = 'A' AND cf.busiType = 6 THEN cf.customerCode END) AS newTelemarketing, COUNT(DISTINCT eps.sheetCode) AS newPriceSheet, COUNT(DISTINCT CASE WHEN ess.state != 7 THEN ess.saleSheetCode END) AS newSaleSheet FROM t_crm_customer ec INNER JOIN t_crm_project cp USING (projectCode) LEFT JOIN t_crm_followup cf USING (customerCode) LEFT JOIN t_erp_pricesheet eps USING (projectCode) LEFT JOIN t_erp_salesheet ess USING (projectCode) WHERE ec.state NOT IN ('U', 'D', 'R') OR cp.state NOT IN ('U', 'D', 'R') OR cf.state = 'A' OR eps.sheetCode IS NOT NULL OR ess.saleSheetCode IS NOT NULL
原文地址: https://www.cveoy.top/t/topic/lpzA 著作权归作者所有。请勿转载和采集!