abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:11 | Pozvánky

    Jsou to už tři roky, co bastlíři z projektu MacGyver klubu SiliconHill měsíc co měsíc organizují virtuální setkání bastlířů, elektroniků a ajťáků. Za tu dobu se online setkalo už 719 unikátních přezdívek a celkově se prokecalo 100 hodin. Tak neváhejte a doražte si taktéž popovídat o elektronice, IT a technice obecně. Z připravených témat mohou strahováci nabídnout novou stabilní verzi KiCADu nebo simulátor QSpice s podporou digitálních

    … více »
    bkralik | Komentářů: 0
    dnes 08:00 | Komunita

    Před týdnem Nintendo zažalovalo společnost Tropic Haze zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu. Včera se společnosti dohodly (pdf, pdf), že Tropic Haze zaplatí Nintendu 2,4 milionu dolarů a vývoj emulátoru neprodleně ukončí. Ukončen byl také vývojáři yuzu podporovaný vývoj open source emulátoru přenosné herní konzole Nintendo 3DS Citra.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | IT novinky

    Apple dnes představil nový MacBook Air s čipem M3. Jak na něm pojede Asahi Linux?

    Ladislav Hagara | Komentářů: 2
    včera 16:44 | IT novinky

    Hodnota Bitcoinu, decentralizované kryptoměny překonala 65 000 dolarů (1 517 360 korun).

    Ladislav Hagara | Komentářů: 7
    včera 15:11 | Nová verze

    Byla vydána nová stabilní verze 6.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 122. Přehled novinek i s náhledy v příspěvku na blogu. Nově umí webovým stránkách vnutit tmavý styl. Webové panely podporují rozšíření. Vylepšena byla i Pošta a Poznámky.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Z aktuálních globálních statistik společnosti Statcounter: na desktopu má Linux podíl 4,03 %, Firefox 7,26 %, …

    Ladislav Hagara | Komentářů: 5
    včera 07:00 | Nová verze

    Linuxová distribuce openmediavault (Wikipedie) založená na Debianu a určená pro datová úložiště na síti (NAS) byla vydána ve verzi 7 (Mastodon). Její kódový název je Sandworm (písečný červ). Přehled novinek v oficiálním oznámení. Nejnovější openmediavault je založen na Debianu 12 s kódovým názvem Bookworm.

    Ladislav Hagara | Komentářů: 0
    3.3. 14:33 | Zajímavý software

    Ente je open source služba pro ukládání a sdílení fotografií a videí. Alternativa k výchozím aplikacím od Googlu a Applu. V pátek byly uvolněny zdrojové kódy serveru pod licencí AGPL 3.0 [Hacker News].

    Ladislav Hagara | Komentářů: 10
    3.3. 11:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    2.3. 22:33 | Komunita

    Nintendo žaluje Tropic Haze, tj. společnost zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu (Wikipedie).

    Ladislav Hagara | Komentářů: 3
    Steam
     (32%)
     (29%)
     (8%)
     (8%)
     (23%)
    Celkem 131 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: mysql 3.23 slozeny dotaz

    8.2.2009 19:18 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    mysql 3.23 slozeny dotaz
    Přečteno: 557×
    Zdravim, pokousim se z jedne tabulky poscitat pocet komentaru k jednotlivym clankum a pote do tabulky clanku aktualizovat pocet komentaru. Potrebuji poradit co je spatne:
    UPDATE nuke_stories_zal set comments.nuke_stories_zal=soucet where sid.nuke_stories_zal IN
    (
    SELECT COUNT(sid) AS soucet, sid FROM nuke_comments GROUP BY sid
    )
    
    Spodni cast samostatne funguje a vraci tabulku se sloupci soucet a sid.

    Predem diky za pomoc.

    Odpovědi

    9.2.2009 09:28 razor | skóre: 33
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz

    Není problem v tom, že 3.23 neumí poddotaz ?

    9.2.2009 18:55 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz
    Ja bych rekl, ze problem je bud v #1 nebo proste v tom, ze selectem sice poscitas pocty komentaru, ale UPDATE nevi, ktery pocet patri ke kteremu clanku (nema vazbu mezi nuke_comments.sid a nuke_stories_zal.comments). Zkusil bych neco jako
    UPDATE nuke_stories_zal SET nuke_stories_zal.comments = count(nuke_comments.sid)
    FROM nuke_comments
         JOIN nuke_stories_zal ON nuke_stories_zal.sid = nuke_comments.sid
    GROUP BY nuke_comments.sid
    A krom toho mas v set a where IMHO prehozene jmena sloupcu a tabulek :-)

    Dejv
    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    default avatar 10.2.2009 10:01 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz

    Ty vole! Já chci taky databázi, která umí klauzili FROM v UPDATE statementu. :-D

    10.2.2009 21:37 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz
    Ja netvrdim, ze MySQL 3.23 toto umi, mozna jsem opravdu strelil hodne mimo. Ale ten update ... from ... join neni z moji hlavy - MSSQL to umi a tam jsem se s tim taky setkal poprve. A taky jsem na to hledel jak tele na nove vrata.

    Pr.:
    update d 
    	set d.typ_uhrady = nova_hodnota
    	from #davka d
    		join #faktur f on f.id_poj = d.id_poj and f.id_icz = d.id_icz
    	where f.akce = 'ZMEN_TYP_UHRADY'
    A taky
    delete d
    	from #davka d 
    		join #fakt f on f.id_poj = d.id_poj
    	where f.akce = 'NEFAKTURUJ'
    Mozna to je nejaky "MS-standard", to nevim. Ale urcite to neni k zahozeni. Updatovat jednu tabulku podle podminky na jine tabulce... A o to mi slo v me odpovedi - on proste IMHO potrebuje ty tabulky nejak spojit.

    Dejv
    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    AraxoN avatar 11.2.2009 00:02 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz

    Tak si spusť postgres! ;-)

    default avatar 10.2.2009 09:57 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz
    Příloha:

    No, já nevím. Podle mě ten dotaz fungovat nemůže, protože je tak trošku syntakticky špatně:

    UPDATE nuke_stories_zal
    SET
        comments.nuke_stories_zal = soucet
    WHERE
        sid.nuke_stories_zal IN (SELECT
                    COUNT(sid) AS soucet,
                    sid
                FROM
                    nuke_comments
                GROUP BY
                    sid)
    

     Jak je vidět z přepisu:

    1. SELECT statement v IN klauzuli vrací dva sloupce, přestože levý operand má sloupec jen jeden
    2. v SET klauzuli se UPDATE statement odkazuje na tabulku (nebo alias tabulky) COMMENTS, která není definovaná
    3. neznám strukturu tabulky NUKE_STORIES_ZAL, ale sloupec SOUCET v ní patrně neexistuje a patrně to má být odkaz na sloupec v korelovaném poddotazu

    Správně ten dotaz má být:

    UPDATE stories s
    SET
        s.story_comments_cnt = (SELECT
                    COUNT(1)
                FROM
                    comments cmnts
                WHERE
                    cmnts.story_id = s.story_id)
    /
    

    V příloze je celý skript (struktura plus testovací data). Hodně štěstí.

    10.2.2009 10:46 neaktivni | skóre: 24 | blog: neaktivni
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz
    No Váš skript sice vypada přehledně, ale pro praktické použití bych určitě dal přednost JOINu. Tipuji, že bude výrazně rychlejší, pokud si ten váš dotaz db engine sám nezoptimalizuje do JOINu.
    default avatar 10.2.2009 16:25 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz

    A můžeme poprosit o příklad? Klidně to může být také nějaký skript :-)

    14.2.2009 14:34 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz
    V takovymhle pripade mam u MySQL opacnou zkusenost, join je nekolikrat pomalejsi... a left join je uplne nejpomalejsi.
    My máme všechno co chcem, my máme dobrou náladu!
    talpa avatar 17.2.2009 14:49 talpa | skóre: 2 | Praha 4
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz

    to bude tim ze mysql je pseudodatabaze, jsem zkousel v 5tce delat storky, co ta db delala to by jeden neveril....a hlavne mela problem s backupem dokonce zapominala ze ma triggery a storky a backupy delala bez :)))) zahodte to..

    Tak nejak vse co mi prijde pod ruku
    17.2.2009 18:35 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: mysql 3.23 slozeny dotaz
    jj taky mam takovej pocit ze mysql je dobra jen na maly projekty...
    My máme všechno co chcem, my máme dobrou náladu!

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.