需求是更新站点的具备的技能值
站点表: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去重,最后在和站点表关联进行更新