-- 处理旧数据
Update
(
SELECT tr.`Status` TStatus ,cc.*,fl.NextFollowDate,fl.Remark FROM
(
SELECT cu.ID,cu.Name,MAX(fl.CreateTime) NewFollowDate,MAX(fl.ID) FID,MAX(tr.ID) TID,COUNT(DISTINCT(fl.ID)) FollowCount,
COUNT(DISTINCT(IF(fl.TalkAutoGen=1,NULL,fl.ID))) FollowNoAuto,MAX(ar.ID) AID,MAX(ar.CreateTime) NewArriceDate,
cu.IsDel,cu.`Owner` as OwnerID,cu.OID,cu.CreateTime
FROM crm_customer cu
LEFT JOIN crm_followup fl ON cu.ID = fl.CDID
LEFT JOIN crm_transferrecord tr On cu.ID = tr.CDID
LEFT JOIN crm_arrivecheck ar ON cu.ID = ar.CDID GROUP BY cu.ID
) cc
LEFT JOIN crm_followup fl ON cc.FID = fl.ID
LEFT JOIN crm_transferrecord tr On cc.TID = tr.ID
LEFT JOIN crm_arrivecheck ar ON cc.AID = ar.ID
) a LEFT JOIN crm_customer cus ON a.ID = cus.ID
SET cus.NewFollowDate = a.NewFollowDate,cus.NextFollowDate = a.NextFollowDate ,cus.NewRemark = a.Remark,cus.NewArriveDate = a.NewArriceDate,
IsTransferWait = (IF(TStatus=0,1,0))
WHERE a.IsDel = 0
批量更新脏数据-SQL
最新推荐文章于 2024-10-08 14:08:56 发布