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

Inserisci una nuova riga con i dati calcolati da altre righe

Puoi semplicemente aggiungere quella selezione (leggermente modificata come in "non hai bisogno del as clausole") su un inserto. Ad esempio:

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

supponendo che la tua query sia effettivamente corretta - non ne faccio alcuna valutazione :-)

A titolo di ulteriore esempio,

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

aggiungerebbe le seguenti righe:

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