select
pmsInfo.id,
pmsInfo.categoryId,
(case when pmsInfo.categoryId = 135 THEN consultSum.amount ELSE caseSum.amount end) amount,
(case when pmsInfo.categoryId = 135 THEN DATE_FORMAT(consultSum.createTime,'%Y%m%d') ELSE DATE_FORMAT(caseSum.createTime,'%Y%m%d') end) statisticTime
from
pms_info pmsInfo
LEFT JOIN fms_case_summary caseSum on pmsInfo.id = caseSum.infoId
LEFT JOIN fms_consult_summary consultSum on pmsInfo.id = consultSum.infoId
LEFT JOIN crm_case_customer caseCustomer ON pmsInfo.id = caseCustomer.infoId
LEFT JOIN crm_case_customer_feature customerFeature ON caseCustomer.id = customerFeature.customerId
where pmsInfo.isDeleted = false
AND pmsInfo.id in(
65488,65489
)
AND pmsInfo.statusId IN (1,2,3,4,5,6,7,12,13)
結果:
根據不同的類型取不同表的字段:
(case when pmsInfo.categoryId = 135 THEN consultSum.amount ELSE caseSum.amount end) amount,
(case when pmsInfo.categoryId = 135 THEN DATE_FORMAT(consultSum.createTime,'%Y%m%d') ELSE DATE_FORMAT(caseSum.createTime,'%Y%m%d') end) statisticTime
如果categoryId 等於135,取consultSum表的amount 和 consultSum表的createTime。
如果不等於,取caseSum表的amount 和 caseSum表的createTime。並取別名
日期格式化:
DATE_FORMAT(consultSum.createTime,'%Y%m%d') :將日期格式化,例:(2019-01-10 00:00:00)—>20190110