Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insérer une nouvelle ligne avec des données calculées à partir d'autres lignes

Vous pouvez simplement ajouter cette sélection (légèrement modifiée comme dans "vous n'avez pas besoin du as clauses") sur une insertion. Par exemple :

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

en supposant que votre requête est réellement correcte - je ne fais aucune évaluation de cela :-)

A titre d'exemple supplémentaire,

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

ajouterait les lignes suivantes :

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