Zadejte hledaný výraz...

MySQL update s vnořeným selectem – jak na to?

pkotala
verified
rating uzivatele
(24 hodnocení)
20. 7. 2008 10:41:44
Mám několik tabulek s historií - obecné schéma je:
ID
Datum
Hodnota
Chtěl bych nastavit hodnoty ve všech tabulkách tak, aby hodnoty pro datum>'2008-07-16' byly nastaveny hodnotou datum='2008-07-16' (jde mi o napravení škod za dobu, kdy jsme měl vypnut a nebo nefungoval Google PageRank). Zkoušel jsem nějaký update s vnořeným selectem, zkoušel jsem něco googlit, ale pořád nevím...
Poradí někdo?
Díky
Pavel
20. 7. 2008 10:41:44
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97307
miniJOHN
verified
rating uzivatele
(57 hodnocení)
20. 7. 2008 11:01:23
UPDATE tabulka SET datum=xxx WHERE datum
//Aj, špatně jsem pochopil zadání.
20. 7. 2008 11:01:23
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97306
pkotala
verified
rating uzivatele
(24 hodnocení)
20. 7. 2008 11:09:58
Napsal miniJOHN;85384
UPDATE tabulka SET datum=xxx WHERE datum
ne, to ne,
v ORACLE by to bylo:
update katalogy_history h1
set page_rank=(select h2.page_rank
from katalogy_history h2
where h2.datum=to_date('dd-mm-yyyy','2008-07-16') and h1.id=h2.id) and
datum>to_date('dd-mm-yyyy','2008-07-16')
20. 7. 2008 11:09:58
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97305
Fuck You
verified
rating uzivatele
(1 hodnocení)
20. 7. 2008 12:16:56
Teď jsem trochu zmatenej, ID je obvykle název pro primary key, tady je to ale nějaký cizí klíč, že jo?
Bohužel u updatu nelze tabulku joinovat samu se sebou, takže bych si vytvořil dočasnou tabulku, do které bych si vytáhl ty hodnoty z 2008-07-16 no a tu bych potom přijoinoval k té měněné tabulce:
20. 7. 2008 12:16:56
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97304
Fuck You
verified
rating uzivatele
(1 hodnocení)
20. 7. 2008 12:19:17
Teď si říkám, že možná radši RIGHT JOIN, ale ono to asi v daném případě bude jedno.
20. 7. 2008 12:19:17
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97303
pkotala
verified
rating uzivatele
(24 hodnocení)
20. 7. 2008 13:41:10
Díky, jdu to hned zkusit.
JJ - jde o cizí klíč do tabulky katalogy a v tabulce katalogy_history - teprve teď vidím, že pořád nemám jasno, jestli pojmenovávat česky nebo anglicky, tak jsem to pro jistotu zkombinoval :) - je složený klíč id+datum
Napsal llook;85397
Teď jsem trochu zmatenej, ID je obvykle název pro primary key, tady je to ale nějaký cizí klíč, že jo?
Bohužel u updatu nelze tabulku joinovat samu se sebou, takže bych si vytvořil dočasnou tabulku, do které bych si vytáhl ty hodnoty z 2008-07-16 no a tu bych potom přijoinoval k té měněné tabulce:
20. 7. 2008 13:41:10
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97302
duben
verified
rating uzivatele
(49 hodnocení)
20. 7. 2008 13:48:29
Ahoj Pavle, teď jsem se vrátil z dovolené ... večer nebo zítra z práce ti na to kouknu, myslím že půjde jak vnořený select, tak joiny i where condition. Jen trochu vydechnu pak ti písnu řešení.
20. 7. 2008 13:48:29
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97301
pkotala
verified
rating uzivatele
(24 hodnocení)
20. 7. 2008 13:54:43
Tak to je ono - pomohlo.
Díky + reputace + zamykám
Napsal llook;85397
Teď jsem trochu zmatenej, ID je obvykle název pro primary key, tady je to ale nějaký cizí klíč, že jo?
Bohužel u updatu nelze tabulku joinovat samu se sebou, takže bych si vytvořil dočasnou tabulku, do které bych si vytáhl ty hodnoty z 2008-07-16 no a tu bych potom přijoinoval k té měněné tabulce:
20. 7. 2008 13:54:43
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97300
pkotala
verified
rating uzivatele
(24 hodnocení)
20. 7. 2008 13:55:37
Díky stando - minuli jsme se ve vlákně - už to mám - jako by se stalo :)
Doufám, že sis odpočinul
Napsal duben;85436
Ahoj Pavle, teď jsem se vrátil z dovolené ... večer nebo zítra z práce ti na to kouknu, myslím že půjde jak vnořený select, tak joiny i where condition. Jen trochu vydechnu pak ti písnu řešení.
20. 7. 2008 13:55:37
https://webtrh.cz/diskuse/mysql-update-s-vnorenym-selectem-jak-na-to#reply97299
Pro odpověď se přihlašte.
Přihlásit