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í
×
    dnes 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 0
    dnes 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 13
    včera 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    2.12. 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 0
    2.12. 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    2.12. 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 10
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 426 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Pomoc s query

    12.8.2010 13:30 eth4rendil | skóre: 13
    Pomoc s query
    Přečteno: 341×
    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.