Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fügt eine neue Zeile mit Daten ein, die aus anderen Zeilen berechnet wurden

Sie können diese Auswahl einfach anhängen (leicht modifiziert wie in „Sie brauchen den as Klauseln") auf eine Einfügung. Zum Beispiel:

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

davon aus, dass Ihre Anfrage tatsächlich korrekt ist - ich bewerte das nicht :-)

Als weiteres Beispiel,

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

würde die folgenden Zeilen hinzufügen:

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