更新
(1)将一个表的字段更新到另一个表中
-- 应用场景:B表记录客户的所有负责人;将B表的负责人追加到A表中负责人字段值
UPDATE oa_customer c,oa_charge_person s SET c.charge_person = CONCAT( c.charge_person , s.person_str ) WHERE c.id = s.cid
(2)将一张表的字段中的某一个字符串替换成另一个字符串
-- 将字段url中的"http"改成"https"
UPDATE test SET url = REPLACE(url,'http','https');
(3)根据一个表的数据更改另一个与此表没有关联表的数据
-- 表A id与表B uid关联,表B的cid与表C的id关联,根据表A的部门字段更改表C的部门字段
UPDATE A,B,C SET C.department_id = A.new_department WHERE A.id = B.uid AND B.cid = C.id
-- 根据分享表查询客户负责人,如果与客户crm_customer 表中的负责人不一致,则更新
UPDATE crm_customer c,
(
SELECT
s.cid,
c1.charge_person,
CONCAT(
c1.creatid,
',',
group_concat(s.beshare_uid),
','
) AS new_charege
FROM
crm_share_join s,
crm_customer c1,
crm_customer_data cd
WHERE
s.cid = c1.id
AND cd.cid = c1.id
AND s.creat_id <> s.beshare_uid
GROUP BY
s.cid
HAVING
new_charege <> c1.charge_person
) cs
SET c.charge_person = cs.new_charege
WHERE
c.id = cs.cid
-- 更新移交的客户共享表中的负责人
UPDATE crm_share_customer sc,crm_share_join s,crm_customer c,crm_customer_data cd
SET sc.creatid = c.creatid,
WHERE sc.id = s.id AND s.cid = c.id AND c.id = cd.cid AND sc.creatid <> c.creatid
AND ocreatid <> 0
(不定时更新中.......)