Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Još jedna mozgalica o datumima

[es] :: Access :: Još jedna mozgalica o datumima

Strane: 1 2

[ Pregleda: 4006 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Još jedna mozgalica o datumima01.09.2009. u 20:47 - pre 146 meseci
@ CAptPicard: pa posle kazu nema vise sta da se izmisli u SQL-u, sve je vec izmisljeno i zna se kako se radi, samo treba pronaci. Sipak, ovako originalnih resenja nema kao na nasem forumu

Bas si se potrudio da pokupis sve slucajeve preklapanja. I Datediff je bolje nego Date1-Date2, trebalo bi da se i moji kveriji promene, ali me mrzi.

Malo sam formatirao kod da se bolje vidi sta se desava:
Code:

SELECT ukupno,
       sifra_drzava,
       naziv
FROM   (SELECT   (Sum(aa) + Sum(cc) + Sum(dd) + Sum(ee)) AS ukupno,
                 sifra_drzava,
                 naziv
        FROM     (SELECT (Iif(aaa > 0,aaa,0)) AS aa,
                         (Iif(ccc > 0,ccc,0)) AS cc,
                         (Iif(ddd > 0,ddd,0)) AS dd,
                         (Iif(eee > 0,eee,0)) AS ee,
                         sifra_drzava,
                         naziv
                  FROM   (SELECT   Sum(a) AS aaa,
                                   Sum(c) AS ccc,
                                   Sum(d) AS ddd,
                                   Sum(e) AS eee,
                                   sifra_drzava,
                                   naziv
                          FROM     (SELECT sifra_drzava,
                                           naziv,
                                           (Iif((datum_prijave >= :datumod
                                                 AND datum_odjave < :datumdo),Datediff("d",datum_prijave,datum_odjave),
                                                0)) AS a,
                                           (Iif((datum_prijave < :datumod
                                                 AND datum_odjave <= :datumdo),Datediff("d",:datumod,datum_odjave),
                                                0)) AS c,
                                           (Iif((datum_prijave <= :datumod
                                                 AND datum_odjave >= :datumdo),Datediff("d",:datumod,:datumdo),
                                                0)) AS d,
                                           (Iif((datum_prijave > :datumod
                                                 AND datum_odjave = :datumdo),Datediff("d",datum_prijave,:datumdo),
                                                0)) AS e
                                    FROM   tblgosti AS c,
                                           tbldrzave AS d
                                    WHERE  c.sifra_drzava = d.sifra)
                          GROUP BY sifra_drzava,
                                   naziv))
        GROUP BY sifra_drzava,
                 naziv)
WHERE  ukupno <> 0


I zakacio sam korektnu verziju resenja sa koriscenjem tabele datuma, mislim da je prva otisla s greskom (+1 dan)

Prikačeni fajlovi
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Još jedna mozgalica o datumima01.09.2009. u 20:57 - pre 146 meseci
Ma Zidar, ne znam šta da kažem na tvoj post! Istina, rješenja su stvarno originalna i jako puno se može naučiti!
U svakom slučaju, imaš pivo kada se vidimo! :-)

A pošto si tako lijepo formatirao kod da nisam mogao ostati ravnodušan, sada ne mogu a da još ne popravim taj query, sutra obećajem popravljenog!

Da, pokrio sam sva preklapanja, krenuo sam od crteža na papiru, dok nisam došao do konačnog rezultata, a onda sam krenuo korak po korak (tvoja škola :-) ) dok nisam došao do rješenja u sql-u (zato i je toliko ovih nepotrebnih sum)...
F
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.209.*

Sajt: biske.rs


+39 Profil

icon Re: Još jedna mozgalica o datumima01.09.2009. u 21:41 - pre 146 meseci
Code:
..krenuo sam od crteža na papiru..


I ja sam ovako krenuo. Mnogo je lakše kad se nacrta..
 
Odgovor na temu

[es] :: Access :: Još jedna mozgalica o datumima

Strane: 1 2

[ Pregleda: 4006 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.