NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.
Avatar
Vlada
Člen
Avatar
Vlada:20.1.2021 18:52

Hezký den, mohl by mi někdo pomoci vytvořit SQL dotaz pro MySQL 5.7.31 v phpMyAdmin 5.0.2 pro přenos dat?
V rámci dobrovolnictví migruji web jisté neziskové organizace. Mám starou komponentu a potřebuji z její tabulky načíst data do nové tabulky nástupnické komponenty. Každá je samozřejmě jiná. Bohužel nemohu vytvořit novou tabulku úpravou staré, neboť obsahuje jednu položku, kterou si nová komponenta generuje pro mě neznámým způsobem. Takže do nové poloprázdné tabulky vygeneruji cca 500 záznamů a ty potřebuji částečně doplnit daty ze staré tabulky následným způsobem.

mám tabulku NOVA(id,b,c,d,­e,f,g),
do ní potřebuji přenést část dat z každého řádku z tabulky STARA(id,i,j,k,l) a to tak, že data se vloží do řádku shodného id jako má STARA. Sloupce v tabulkách jsou různé a data se vkládají na jiná místa, například
NOVA.b=STARA.l
NOVA.d=STARA.j
Ostatní (nepoužité) sloupce v tabulce NOVA by měly zůstat nezměněné.

Děkuji předem
Vlada

Zkusil jsem: Zkoušel jsem ledacos, ale nepodařilo se mi takový funkční dotaz sestavit :-(

 
Odpovědět
20.1.2021 18:52
Avatar
Jakub Švasta
Lektor
Avatar
Odpovídá na Vlada
Jakub Švasta:20.1.2021 20:49

Když potřebuješ při updatu používat víc tabulek, dělá se to v MySQL pomocí update-join:

UPDATE NOVA N
INNER JOIN STARA S ON S.id = N.id
SET N.b = S.i, N.c = S.j, N.d = S.k, N.e = S.l;

Tady máš ukázku na hraní.

 
Nahoru Odpovědět
20.1.2021 20:49
Avatar
Vlada
Člen
Avatar
Odpovídá na Jakub Švasta
Vlada:21.1.2021 19:04

Ahoj, moc děkuji, cvičné tabulky i příkaz moc pomohl, tabulku už mám vytvořenou i doplněnou daty ze staré. Ještě jednou děkuji.
Vlada

 
Nahoru Odpovědět
21.1.2021 19:04
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.