Nejste přihlášen/a.
Mam dve MBD tabulky
Hlavni tabulka SBIRKA, kde jsou sloupce Autor_S, MistoPus_S
Tady jsou ve sloupci MistoPus_S spatne uvedena mista (doslo k hromadnemu prepisu hodnot na) SIRUP ![]()
Pomocna tabulka LONT, kde jsou sloupce AUTOR, MISTOPUS
Tady jsou hodnoty spravne uvedeny (u konkretniho autora treba Liberec, ale nektere jsou i prazdne / nevyplnene)
Potreboval bych vzorec, co prepise udaje v tabulce SBIRKA sloupec MistoPus_S, kde je uvedeno SIRUP podle vzoru tabulky LONT
Mohl by mi nekdo poradit, jak to napsat? Dekuji
0x
Postup je zde: mysqltutorial.org/...
Bez dema si nedovolím konkrétní SQL dotaz, protože to chce prostě vyzkoušet. Zase taková rutina to pro mě není. ![]()
0x
Obecně je to nějaká forma update.
Plus jedna rada. Pouzivejte srozumitelná jména (sloupců tabulek...). Mistopus, lont je trochu wtf. Předpokládám že suffix s je pro určení datového typu. To už jsem také řádku let neviděl. Není to nutné a zhoršuje
to čitelnost modelu
0x
takhle kazdej radek zvlast, da se to dobre nadatlit v xls pomoci funkce concatenate. sql prikaz plati pro oracle, mysql bude hodne podobnej, mozna dokonce stejnej. pred jakymkoliv updatem si udelej zalohy.
edit:nejaky chytry hlavy tu vymyslely blokovani apostrofu, takze lont.mistopus i lont.autor jsou hodnoty uzavreny v apostrofech
0x
2.otevri .xls soubor, do bunky C1 napis: =CONCATENATE("update sbirka set mistupus_s=*",B1,"* where autor=*",A1,"*;")
hvezdicky nahrad apostrofem, pac poradna blokuje
3.bunku C1 vezmi a zkopiruj az na posledni radek kde jsou data
4.zkopiruj celej sloupec C, vloz do editoru SQL, a pust jako script
5.commit v editoru, data jsou prepsany
nekde mezi tim udelej zalohu tabulky sbirka, kdyby se neco podelalo
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.