Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
insertintoselect [2015/03/17 14:42] webproducer 2. Beispiel |
insertintoselect [2017/10/18 00:00] (aktuell) |
||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
Alle Spalten sollen in den neuen Datensatz eingefügt werden (Datensatz kopieren): | Alle Spalten sollen in den neuen Datensatz eingefügt werden (Datensatz kopieren): | ||
- | + | <code sql> | |
- | INSERT INTO neighborhood | + | INSERT INTO user SELECT * FROM user WHERE id = 314 |
- | SELECT * FROM neighborhood WHERE user_1 = 314 AND user_2 = 109 | + | </code> |
//Beispiel 2:// | //Beispiel 2:// | ||
Zwei von drei Spalten der Tabelle "neighborhood" sollen mit Inhalten aus der Tabelle "users" gefüllt werden: | Zwei von drei Spalten der Tabelle "neighborhood" sollen mit Inhalten aus der Tabelle "users" gefüllt werden: | ||
+ | <code sql> | ||
INSERT INTO neighborhood | INSERT INTO neighborhood | ||
SELECT :id, id, distance | SELECT :id, id, distance | ||
Zeile 20: | Zeile 19: | ||
users.basis_1 ) as distance from users WHERE lastlogin + interval '7 days' > now() ) as users | users.basis_1 ) as distance from users WHERE lastlogin + interval '7 days' > now() ) as users | ||
WHERE distance > 0 ORDER BY distance LIMIT 500"; | WHERE distance > 0 ORDER BY distance LIMIT 500"; | ||
+ | </code> | ||
* Spalte :id ist ein binding Parameter, der, genau wie :Basis_1, beim Aufruf an SQL übergeben wird | * Spalte :id ist ein binding Parameter, der, genau wie :Basis_1, beim Aufruf an SQL übergeben wird | ||
* Spalte id wird im Unter-Select ermittelt | * Spalte id wird im Unter-Select ermittelt | ||
* Spalte distance wird ebenfalls im Unter-SELECT ermittelt | * Spalte distance wird ebenfalls im Unter-SELECT ermittelt |