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 13:55 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice zveřejnila čtyřiapadesátistránkovou výroční zprávu za rok 2019. K dispozici je v nízkém (6,4 MB) i vysokém (53,2 MB) rozlišení. Nadace také publikovala statistiky související s LibreOffice 7.0. Před týdnem vydaná verze byla z oficiálních stránek stažena již 423 tisíckrát.

Ladislav Hagara | Komentářů: 0
dnes 13:33 | Zajímavý článek

Když se řekne „jmenný prostor“ hodně lidí si představí xmlns v XML nebo balíčky v Javě odvozené od internetových domén. Jmenné prostory jsou ale obecný koncept se kterým se setkáme prakticky všude a odvozovat je můžeme i jinak. Článek Jména a jmenné prostory dává toto téma do souvislostí a ukazuje různé způsoby tvorby jmenných prostorů. Nahlédneme i do zajímavého světa RDF a ukážeme si, jak vytvářet URI, která budou globálně unikátní jednou provždy.

xkucf03 | Komentářů: 0
dnes 08:00 | Nová verze

Po více než čtyřech měsících vývoje od vydání verze 5.4 byla vydána nová verze 5.5 svobodného open source redakčního systému WordPress. Kódové označení Eckstine bylo vybráno na počest amerického jazzového zpěváka Billy Eckstine.

Ladislav Hagara | Komentářů: 0
dnes 07:00 | Nová verze

Po půl roce vývoje od vydání verze 1.14 byla vydána nová verze 1.15 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
dnes 01:10 | Nová verze
Vyšla nová verzia Firefox 79.0.3 pre android. Prináša zmenené rozhranie (práca s taby, vytváranie kolekcií stránok a možnosť mať hlavnú lištu už aj dole na obrazovke). V backhand zaujme používateľa, že odsek vie zalamovať podľa šírky obrazovky. (viac)
debian+ | Komentářů: 8
včera 18:00 | Komunita

Mitchell Baker v příspěvku Changing World, Changing Mozilla na blogu Mozilly píše o měnícím se světě a měnící se Mozille aneb výrazné restrukturalizaci společnosti Mozilla Corporation. Propuštěno bude 250 zaměstnanců.

Ladislav Hagara | Komentářů: 29
včera 17:00 | Zajímavý článek

O novince Swap na ZRAM, jež se objeví ve Fedoře 33, píše Vojtěch Trefný na MojeFedora.cz. Ve výchozí instalaci Fedory bude swap, neboli odkládací prostor, vytvořen již pouze na ZRAM, neboli komprimován v paměti.

Ladislav Hagara | Komentářů: 12
včera 16:00 | Nová verze

Po více než 6 letech byla vydána nová verze 2.4.0 open source 2D fyzikálního enginu Box2D (Wikipedie). Videopředstavení na YouTube.

Ladislav Hagara | Komentářů: 2
včera 09:00 | Bezpečnostní upozornění

Příspěvek na blogu společnosti Check Point Software Technologies informuje o více než 400 zranitelnostech v SoC Snapdragon od společnosti Qualcomm. Detailněji v přednášce na YouTube z letošní konference DEF CON.

Ladislav Hagara | Komentářů: 7
včera 08:00 | Nová verze

Projekt KDE neon poskytuje oficiální sestavení prostředí Plasma a aplikací pro uživatele nebo vývojáře, testery aj. Základem systému je Ubuntu s dlouhodobou podporou, nově 20.04 „Focal Fossa“. Povýšení z předchozího 18.04 je možné. Jelikož obsahuje nejnovější vydání z upstreamu, závisí také na novější verzi knihoven Qt, což může v některých případech vést ke konfliktům s balíčky aplikací z repozitářů Ubuntu; např. Plasma 5.19 závisí na Qt 5.14 namísto verze 5.12 dostupné v Ubuntu.

Fluttershy, yay! | Komentářů: 0
Dokážete si představit, že by váš hlavní počítač (desktop, notebook) byl v současné době založen na architektuře jiné než x86 (x86_64)? Například ARM, POWER, RISC-V,…
 (13%)
 (12%)
 (56%)
 (15%)
 (5%)
Celkem 237 hlasů
 Komentářů: 14, poslední 10.8. 19:58
Rozcestník

Dotaz: Firebird, SUM a zmena hodnoty

13.9.2017 23:04 Tom
Firebird, SUM a zmena hodnoty
Přečteno: 1381×
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.