Mysql
 sql >> Database >  >> RDS >> Mysql

AGGIORNAMENTO con SUM() in MySQL

Sfortunatamente, non puoi aggiornare una tabella unita a se stessa in MySQL .

Dovrai creare una funzione come soluzione 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)