Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserir nova linha com dados calculados de outras linhas


Você pode apenas anexar esse select (ligeiramente modificado como em "você não precisa do as cláusulas") em uma inserção. Por exemplo:
insert into MyTable (Id,Type,Value)
    select MyTable_A.Id, 'C', (A_Val + B_Val) from ...

supondo que sua consulta esteja realmente correta - não faço avaliação disso :-)

A título de exemplo adicional,
insert into MyTable (Id,Type,Value)
    select Id+1000, 'C', Value from MyTable where Type = 'A'

adicionaria as seguintes linhas:
+------+------+-------+
| Id   | Type | Value |
+------+------+-------+
| 1000 | C    |     1 |
| 1001 | C    |     2 |
| 1002 | C    |     5 |
+------+------+-------+