sql >> Base de Datos >  >> RDS >> Mysql

ACTUALIZAR con SUM() en MySQL

Desafortunadamente, no puede actualizar una tabla unida consigo misma en MySQL .

Deberá crear una función como solución alternativa:

DELIMITER $$

CREATE FUNCTION `fn_get_sum`(_id INT) RETURNS int(11)
READS SQL DATA
BEGIN
      DECLARE r INT;
      SELECT  SUM(s_val)
      INTO    r
      FROM    table_name
      WHERE   id = _id;
      RETURN r;
END $$

DELIMITER ;

UPDATE  table_name
SET     par = fn_get_sum(id)