我想在一个包含查询结果的表上进行更新,并且表中存在记录,我的SLQ是:
UPDATE reparticion 组 responsable_nombre_completo =(选择CONCAT_WS(',',persona.nombre,persona.apellido)来自persona INNER JOIN usuario on usuario.cuil = persona.cuil) 哪里 reparticion.id IN(select persona.reparticion_id FROM persona INNER JOIN usuario on usuario.cuil = persona.cuil INNER JOIN reparticion reparticion.id = persona.reparticion_id);
但是我收到以下错误:
您无法指定目标表格' reparticion'用于FROM子句中的更新
答案 0 :(得分:1)
更好的方法是使用join update
代替sub-queries
。
update reparticion r
join persona p on p.reparticion_id = r.id
join usuario u on u.cuil = p.cuil
set r.responsable_nombre_completo = CONCAT_WS(',',p.nombre,p.apellido)