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:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 4
    dnes 03:33 | Zajímavý software

    Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 1
    včera 18:22 | Nová verze

    Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 12
    včera 17:22 | Nová verze

    Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Pozvánky

    Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.

    Ladislav Hagara | Komentářů: 3
    včera 03:55 | Nová verze

    Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.

    Ladislav Hagara | Komentářů: 10
    17.3. 23:55 | Nová verze

    Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…

    Ladislav Hagara | Komentářů: 24
    17.3. 18:11 | Nová verze

    Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    17.3. 04:55 | Nová verze

    Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.

    Ladislav Hagara | Komentářů: 12
    17.3. 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 49
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (1%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1110 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: Firebird, SUM a zmena hodnoty

    13.9.2017 23:04 Tom
    Firebird, SUM a zmena hodnoty
    Přečteno: 1538×
    Dobry den, chtel bych pozadat o radu se selectem v DB Firebird. Je mozne na zaklade hodnoty v jednom sloupci zmenit hodnotu v druhem sloupci a nasledne spocitat SUM toho druheho sloupce? Priklad:
    popis    hodnota
    
    minus    10
    bbb      -30
    plus     50
    cccc     2
    minus    25
    
    potreboval bych vybrat pouze radky ktere obsahuji v prvnim sloupci "plus" nebo "minus", tam kde je "minus" tak zmenit znamenko v sloupci hodnota a udelat SUM(hodnota). Takze -10+50-25

    Normalni SUM delam takto:
    select sum(t1.hodnota)
    from tabulka t1
    where t1.popis like 'plus' or t1.popis like 'minus'
    
    Jde nejak doplnit ten select a dostat pozadovany vysledek?

    Dekuji. Tom

    Řešení dotazu:


    Odpovědi

    13.9.2017 23:42 zdenek
    Rozbalit Rozbalit vše Re: Firebird, SUM a zmena hodnoty
    select sum(iif(t1.popis = 'minus', t1.hodnota * -1, t1.hodnota)) from tabulka t1
    14.9.2017 01:30 Tom
    Rozbalit Rozbalit vše Re: Firebird, SUM a zmena hodnoty
    To je ono, dekuji. Tom
    14.9.2017 07:17 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Firebird, SUM a zmena hodnoty

    Tohle tam přičte i druhý a čtvrtý řádek, takže byste buď musel přidat

      ... where t.popis in ('plus','minus')
    

    nebo místo iif použít case:

      case T1.POPIS when 'plus' then T1.HODNOTA when 'minus' then -T1.HODNOTA else 0 end
    

    A nebo obecněji

      create table NAME2COEF (
        NAME varchar(16) primary key,
        COEF integer
      );
      insert into NAME2COEF values ('plus', 1);
      insert into NAME2COEF values ('minus', -1);
    
      select sum(NC.COEF * T.HODNOTA) from
        TABULKA T inner join NAME2COEF NC on NC.NAME = T.POPIS;
    

    Nakonec ale stejně často nejjednodudšší bude udělat dva obyčejné selecty a odečíst výsledky.

    22.9.2017 11:53 ehmmm
    Rozbalit Rozbalit vše Re: Firebird, SUM a zmena hodnoty
    Se zacatkem v podstate souhlas. Za predpokladu, ze by t.popis byl indexovany, tak bych samozrejme preferoval ten where.

    Tabulka NAME2COEF je z pedagogickeho duvodu dobra, ale v tomto pripade to je nejspis kanon na vrabce.

    A celkem nesouhlas s posledni poznamkou se dvema selecty. Proc se ptat serveru dvakrat, kdyz to muzu vyridit jednim dotazem? Podle me ty dva jednodussi dotazy nikdy nebudou efektivnejsi nez jeden slozitejsi. (?)
    22.9.2017 16:07 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Firebird, SUM a zmena hodnoty

    Tohle je prostě potřeba řešit případ od případu a hlavně s ohledem nejen na aktuální situaci, ale i na výhled do budoucna. Pokud mám jistotu, že ty váhy budou na věky věků vždy jen tyhle dvě, tak to klidně udělám kterýmkoli z těch jednodušších postupů. Ale pokud bude riziko, že jich časem bude víc nebo že se dokonce budou měnit, jdu do referenční tabulky. Tohle je problém podobných dotazů v poradně, protože optimální řešení často závisí na informacích, které nemáme - a někdy je v daném okamžiku nemá ani tazatel.

    Stejně je to i s tou závěrečnou poznámkou. Teoreticky je "jeden dotaz" efektivnější než "dva dotazy", ale praxe může být často jiná, pokud se kvůli tomu, aby to byl "jen jeden dotaz" budou dělat moc velké vylomeniny. Nemluvě o tom, že dva selecty nemusejí nutně znamenat dva samostatné dotazy klienta na server.

    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.