abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:22 | Bezpečnostní upozornění

    Branch Privilege Injection (CVE-2024-45332, Paper) je nejnovější bezpečnostní problém procesorů Intel. Intel jej řeší ve včerejším opravném vydání 20250512 mikrokódů pro své procesory. Neprivilegovaný uživatel si například může přečíst /etc/shadow (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | Komunita

    Dle plánu byl vývoj Firefoxu přesunut z Mercurialu na Git. Oficiální repozitář se zdrojovými kódy je na GitHubu.

    Ladislav Hagara | Komentářů: 3
    včera 04:33 | Bezpečnostní upozornění

    V terminálovém multiplexoru GNU Screen byly nalezeny a v upstreamu ve verzi 5.0.1 už opraveny bezpečnostních chyby CVE-2025-23395, CVE-2025-46802, CVE-2025-46803, CVE-2025-46804 a CVE-2025-46805. Podrobnosti na blogu SUSE Security Teamu.

    Ladislav Hagara | Komentářů: 34
    12.5. 19:33 | Bezpečnostní upozornění

    Training Solo (Paper, GitHub) je nejnovější bezpečnostní problém procesorů Intel s eIBRS a některých procesorů ARM. Intel vydal opravnou verzi 20250512 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    12.5. 11:44 | Nová verze

    Byla vydána nová verze 25.05.11 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    12.5. 11:11 | Nová verze

    Svobodný elektronický platební systém GNU Taler (Wikipedie, cgit) byl vydán ve verzi 1.0. GNU Taler chrání soukromí plátců a zároveň zajišťuje, aby byl příjem viditelný pro úřady. S vydáním verze 1.0 byl systém spuštěn ve Švýcarsku.

    Ladislav Hagara | Komentářů: 10
    12.5. 00:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL

    … více »
    Ladislav Hagara | Komentářů: 0
    12.5. 00:22 | Komunita

    GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.

    Ladislav Hagara | Komentářů: 9
    10.5. 15:00 | Zajímavý článek

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 29
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 6
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (2%)
     (1%)
     (0%)
     (3%)
    Celkem 602 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Dotaz: Pomoc s query

    12.8.2010 13:30 eth4rendil | skóre: 13
    Pomoc s query
    Přečteno: 290×
    Dobrý deň,

    Chcel by som Vás požiadať o pomoc s nasledujúcou MySQL query :

    jedna sa o query pre aukciu, ktorá bude zobrazovať názov tovaru, aktuálnu cenu a čas do konca aukcie. data sú v troch tabulkach z tab tovar stačí iba názov tovaru, z app_aukcia všetko, a z app_aukcia_bids potrebujem sum(bid) konkretneho riadku z app_aukcia.

    na mojej query je niečo zle - zobrazuje iba tie aukcie kde už boli neaké bidy, ak nie su tak sa riadok nezobrazí.
    SELECT
    timediff(now(), a.close_time) AS estimate
    , p.nazov_t,
    a.start_price,
    a.start_price+sum(b.bid) AS actprice,
    a.*
    FROM app_aukcia a
    right join tovar p ON
    a.id_tovar=p.id
    JOIN app_aukcia_bids b ON
    b.id_aukcia=a.id
    WHERE a.closed='n' 
    ORDER BY close_time DESC;
    ďakujem pekne

    Řešení dotazu:


    Odpovědi

    12.8.2010 13:51 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Pomoc s query
    left OUTER join app_aukcia_bids
    nebo mozna right outer, s timhle vzdycky trochu bojuju :-)
    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ří...
    12.8.2010 13:59 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: Pomoc s query
    ďakujem to som už skúšal ale stále vypíše iba ten záznam, ktorý ma neaký ten bid.. keď to dám bez toho joinu na app_aukcia_bids a bez sum(b.bid) tak sa zobrazia všetky záznamy, takže problém bude na 100% vtom joine
    12.8.2010 14:08 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: Pomoc s query
    trochu som to zjednodušil aby to bolo prehladnejšie:
    SELECT
    SUM(b.bid) AS spolu,a.*
    FROM app_aukcia a
    LEFT OUTER JOIN app_aukcia_bids b on
    b.id_aukcia=a.id
    WHERE a.closed='n'
    ORDER BY close_time DESC;
    teraz sa to správa tak isto, teda zobrazuje iba riadky, pri ktorých je v druhej tabulke bid
    Řešení 1× (eth4rendil (tazatel))
    default avatar 12.8.2010 20:59 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Pomoc s query
    Příloha:
    Předem se omlouvám za hrubší reakci, ale výchova musí být. :-D

    Hned na úvod musím s politováním konstatovat, že dotaz nikdy fungovat nebude, protože je prostě špatně napsaný.

    Proč?

    Tak zaprvé: klíčové slovo OUTER nemá na vykonávání joinů vliv; je prostě nepovinné. :-)

    Zadruhé: Rozdíl mezi LEFT [ OUTER ] JOIN a RIGHT [ OUTER ] JOIN:
    • LEFT JOIN: to, pro co napravo od klauzule neexistuje odpovídající entita, je nahrazeno NULLy.
    • RIGHT JOIN: to, pro co nalevo od klauzule — tedy řídící množina je ta napravo — neexistuje odpovídající entita, je nahrazeno NULLy.
    • Ještě existuje FULL OUTER JOIN, kde jsou řídícími množinami obě strany. Pak se lze v dokumentaci dočíst o CROSS JOIN, což je kartézský součin. :-)
    • Dále existuje ještě INNER JOIN, což znamená: dej mi to, co je vlevo a zároveň v pravo. Co na libovolné straně přebývá, zahoď.
    Dotaz, který uvádíš, je chybný z principu věci. Chybí ti totiž GROUP BY klauzule, byť MySQL (a potažmo i do určité míry i SyBase ASE) ji odpouští. To ale na věci nic nemění. Uvádět se má. Když ji vynecháš, databáze si groupuje jak chce — to znamená, že ztrácíš kontrolu.

    OK, rozeberme si ten dotaz:
    • Pomíjím a.start_price versus a.*. Hvězdička je jen pro ten nejtvrdší devel.
    • Joiny se vykonávají zleva doprava. V tvém případě řídící tabulkou je tabulka TOVAR, protože RIGHT JOIN. K ní se dohledají aukce. Pak to celé omezíš (JOIN znamená INNER JOIN!) těmi přihozeními.
    Další užitečná informace je, že agregační funkce pracují s hodnotami NULL stejně jako operátory. To znamená, že 1 + NULL je prostě NULL. A i tak SUM() NULLů je NULL. Takže když k NULLu vráceným agregační funkcí přičteš konstantu, výsledek je NULL. NULLový výstup agrgační funkce se tedy musí převést na nějakou hodnotu.

    Tím končím.

    V příloze máš skript (ano, pro Oracle, protože tu nic jiného nemám), který by ti mohl být užitečný. Víc dát nemůžu, protože jsi neposkytnul testovací data.

    P.S.: V diskuzi uvádíš, že ti nefunguje ani dotaz jen nad tabulkami aukcí a přihozeními. Zkontroluj si integritu dat. Tyhle primitivní spojení fungují i v Excelu a Accessu!
    16.8.2010 09:10 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: Pomoc s query
    Ďakujem veľmi pekne,

    presne takéto niečo som potreboval, queryna mi už samozrejme funguje.

    default avatar 16.8.2010 20:56 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Pomoc s query
    Jsem rád, že jsem pomohl. :-)

    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.