INSERT INTO TABLE (OUT_ID, NUMBER) SELECT 34,NUMBER FROM ANOTHER_TABLE WHERE ASD_ID=35;

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
AZJOL
Člen | 34
+
0
-

Zdravím vás,
rád bych pomocí selectu naplnil tabulku, je toto v nette možné?

Insert by měl vypadat nějak takto:
INSERT INTO TABLE (OUT_ID, NUMBER) SELECT 34,NUMBER FROM ANOTHER_TABLE WHERE ASD_ID=35;
tzn. že select vrátí třeba 10 recordů a všechny bych chtěl nasypat insertem do jiné tabulky.

Všem moc díky za odpovědi.

Jan Endel
Člen | 1016
+
0
-

Ahoj,

máš to skoro správně, stačí napsat toto (pokud se bavíme o mySQL)

INSERT INTO table1 (out_id, number_from_table_2)
SELECT 34, number
FROM table2
WHERE ASD_ID = 35;

Editoval Jan Endel (26. 3. 2017 12:33)

AZJOL
Člen | 34
+
0
-

děkuji za odpověď, toto vím.. Jde mi o syntaxi nette frameworku, a to, zda se dá napsat tento sql dotaz do této konstrukce:

Moje představa je přibližně taková:

$this->database->table('table')->insert([
                        'OUT_ID' => $last_sid,
                        'NUMBER' => select NUMBER from table2 where ASD_ID=35,
        ]);

Tzn. aby se insert provedl tolikrát, kolikrát vrátí select nějakou hodnotu.

Editoval AZJOL (26. 3. 2017 14:15)