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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值