Autor Zpráva
VaKvas
Profil
Zdravím a prosím o radu,

mám tabulku:

id, nazev, castka, od, do

OD a DO jsou DATE, a DO může být null - tedy platné
A já potřebuji vybrat aktivní záznamy dle zadání mesíce a roku.
Například jak vyberu aktivní záznamy vč SUM(castka) za Prosinec 2017 ?

Moc díky
Kajman
Profil
select sum(`castka`) soucet
from `tabulka`
where `od`<='2017-12-31'
      and (`do` is null or `do`>='2017-12-01')
VaKvas
Profil
Díky !
Keeehi
Profil
VaKvas:
Ještě je tu druhá varianta. U platných záznamů nemít jako hodnotu null, ale nějaké nesmyslně velké datum. Například 9999-12-31. Je to řešení, které se profesionálně používá (např. v datových skladech) právě proto, že počítání s hodnotou null nejde. V důsledku je to jedno datum stejná konstanta jako null, ovšem na rozdíl od null umožňuje porovnávání.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: