Autor Zpráva
luma64
Profil
Zdravim, importujem txt subor do sql tabulky a chcem zaroven dotiahnut z inej tabulky(mesiace) aj udaj zp vo vztahu na col1. Obe tabulky tento stlpec maju. Predpokladam, ze pre kazdy importovany zaznam mi pre col1 dotiahne parameter zp z tabulky mesiace. Ono mi vsak vyplni rovnakou hodnotou zp vsetky riadky. Maju byt vsak rozne, podla zavislosti na col1. Je vobec mozne o takomto selekte uvazovat ?

load data infile 'C:\\subor.txt'
into table nv
fields terminated by '|'
lines terminated by '\n'
(col1 ,col2) set zp=(select zp from mesiace i where i.col1= col1 limit 1);
Kajman
Profil
Co to zkusit přes proměnnou?
(@col1 ,col2) set col1=@col1, zp=(select zp from mesiace i where i.col1= @col1 limit 1);
luma64
Profil
Super ! Dakujem.
Tori
Profil
luma64:
Mně ten váš dotaz fungoval v případě, že v tabulkách nebyly shodné názvy sloupců. Pokud byly shodné, vkládalo mi to taky stejnou hodnotu do všech řádků. Pomohlo upřesnit tabulku (v tomhle případě se pro tabulku, kam vkládáte data, nedá použít alias).
load data infile 'C:\\subor.txt'
into table nv
fields terminated by '|'
lines terminated by '\n'
(col1 ,col2) set zp=(select zp from mesiace i where i.col1= nv.col1 limit 1);

edit: Zajímavá věc, při použití tohoto poddotazu se data vkládají v opačném pořadí, než jak jsou v souboru.
luma64
Profil
Tieto tabulky po naimportovani maju niekedy aj 40 tis riadkov. Tie potom zgrupim a zapisujem do inych tabuliek. Na tabulkach mam aj indexy. Nemam skusenosti s optimalizovanim tabuliek aby to bezalo rychlesie v php.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: