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

Insertar nueva fila con datos calculados a partir de otras filas

Simplemente puede agregar esa selección (ligeramente modificada como en "no necesita el as cláusulas") en un inserto. Por ejemplo:

insert into MyTable (Id,Type,Value)
    select MyTable_A.Id, 'C', (A_Val + B_Val) from ...

suponiendo que su consulta sea realmente correcta, no hago ninguna evaluación de eso :-)

A modo de ejemplo adicional,

insert into MyTable (Id,Type,Value)
    select Id+1000, 'C', Value from MyTable where Type = 'A'

agregaría las siguientes filas:

+------+------+-------+
| Id   | Type | Value |
+------+------+-------+
| 1000 | C    |     1 |
| 1001 | C    |     2 |
| 1002 | C    |     5 |
+------+------+-------+