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 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 2
    dnes 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 1
    dnes 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 1
    včera 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

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

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    27.10. 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 44
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2939 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Firebird, SUM a zmena hodnoty

    13.9.2017 23:04 Tom
    Firebird, SUM a zmena hodnoty
    Přečteno: 1607×
    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: 72 | 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: 72 | 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ákno • Nahoru

    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.