mysql update 查询结果值为多个处理介绍

需求是更新站点的具备的技能值

站点表:w_weixiuzhan

站点人员表:w_weixiuyuan

技能表:b_jineng

站点人员申请表:w_wxy_shenqing

UPDATE w_weixiuzhan wxz2 
LEFT JOIN 
(SELECT wx.`weixiuzhanid`, GROUP_CONCAT(DISTINCT wx.mingcheng) AS tags,wx.sq_id FROM w_weixiuzhan wxz, 
    (SELECT wxy.`weixiuzhanid`,wxy.id AS wxy_id,j.id AS jinengid,j.mingcheng,sq.id AS sq_id FROM w_weixiuyuan wxy , b_jineng j ,w_wxy_shenqing sq WHERE sq.id = 40 AND wxy.weixiuzhanid =sq.weixiuzhanid AND  FIND_IN_SET(j.`id`,wxy.`jinengids`) ) wx 
    WHERE wx.weixiuzhanid=wxz.id   GROUP BY wxz.id
) w3 
ON wxz2.id = w3.`weixiuzhanid`  
SET wxz2.tags= w3.tags
WHERE w3.sq_id=40

由于每次站点人员审核时可能增加站点的技能,故需要先关联w_weixiuyuan、b_jineng,w_wxy_shenqing获取到对应的站点及相关技能,由于返回的值可能是多个,故需要再通过GROUP_CONCAT变成1行,并通过DISTINCT去重,最后在和站点表关联进行更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值