mysql如何根据某一张表的字段更新另一张表的字段?
!FIND_IN_SET()取反表示某个字符串不存在另外一个字符串中
-- 基金经理(根据findinfo表中的im_ids更新)
UPDATE `user` u INNER JOIN fundinfo f ON FIND_IN_SET(u.user_id,f.im_ids) AND
!FIND_IN_SET('1',u.jobs)
SET u.jobs = CASE WHEN (ISNULL(u.jobs) OR u.jobs = '') THEN '1' ELSE CONCAT(u.jobs,',1') END;
-- 项目经理 (根据fundinfo_ext表中的proje_manager更新)
UPDATE `user` u INNER JOIN fundinfo_ext f ON FIND_IN_SET(u.user_id,f.project_manager) AND
!FIND_IN_SET('2',u.jobs)
SET u.jobs = CASE WHEN (ISNULL(u.jobs) OR u.jobs = '') THEN '2' ELSE CONCAT(u.jobs,',2') END;
-- 项目经理 (根据channel 表中的sales_man更新)
UPDATE `user` u INNER JOIN channel c ON c.sales_man = u.user_id AND !FIND_IN_SET('2',u.jobs)
SET u.jobs = CASE WHEN (ISNULL(u.jobs) OR u.jobs = '') THEN '2' ELSE CONCAT(u.jobs,',2') END;
-- 交易员 (根据fundinfo_ext表中的fund_traders更新)
UPDATE `user` u INNER JOIN fundinfo_ext f ON FIND_IN_SET(u.user_id,f.fund_traders) AND
!FIND_IN_SET('3',u.jobs)
SET u.jobs = CASE WHEN (ISNULL(u.jobs) OR u.jobs = '') THEN '3' ELSE CONCAT(u.jobs,',3') END; <
下一篇: 用Fortify SCA分析代码漏洞