PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Päevade arvestus
Postitaja: joker 2014-11-01 22:57:49
~Tabel autojuhid~

Autojuht A töötas: 15.01.2014 - 15.02.2014 / auto 1
Autojuht B töötas: 16.02.2014 - 5.03.2014 / auto 1
Autojuht C töötas: 20.03.2014 - 05.04.2014 / auto 1
Autojuht A töötas: 03.04.2014 - 15.02.2014 / auto 1
jne...

~Tabel autod~
Auto 1
Auto 2
Auto 3
jne...

Kuidas oleks võimalik andmebaasis välja lugeda, grupeerida kuu kaupa mitu päeva auto töötas?
RE: Päevade arvestus
Postitaja: hghgh 2014-11-02 06:07:55
kuidas - sõltub AB'st.
aga et kuu kaupa, siis igatahes ja eelkõige tuleb vähemalt sellise asjaga arvestada:

CASE
WHEN to_char(algus::date, 'MM') = to_char(lypp::date, 'MM') THEN lypp::date-algus::date +1
ELSE
CASE
WHEN to_char(algus::date, 'MM') = kuu THEN (date_trunc('month', algus::date)+'1month'::interval-'0day'::interval)::date - algus::date
WHEN to_char(lypp::date, 'MM') = kuu THEN to_char(lypp::date, 'dd')::int
WHEN to_char(algus::date, 'MM') < kuu and to_char(lypp::date, 'MM') > kuu THEN paevi_kuus
END
END


kus kuu ja päevi_kuus - eelnevalt moodustatud muutujad, algus ja lypp - väärtused tabelist
RE: Päevade arvestus
Postitaja: aspi 2014-11-18 22:43:38
Su kood juba meenutab asp.net teemat. Töötab ka sul?
RE: Päevade arvestus
Postitaja: hghgh 2014-11-20 00:11:01
TSITEERITUD:
Su kood juba meenutab asp.net teemat. Töötab ka sul?

asp.net'ga küll pole tegemist, see on vaid väike lõik ühest vanast Postgres'i päringust, et küsija saaks aru, millega tuleb antud juhul kindlasti arvestada. Kuid SQL jääb SQL'ks, suurt vahet pole kus seda teha...
jah, ja loomulikult töötab, poleks ju muidu copy-paste teinud

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0834031105042