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

Specifican upit, kako resiti?

[es] :: Access :: Specifican upit, kako resiti?

[ Pregleda: 2386 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cyberm

Član broj: 37993
Poruke: 146
*.uis.kg.ac.yu.



+1 Profil

icon Specifican upit, kako resiti?13.03.2005. u 20:41 - pre 232 meseci
Imam sledeci problem, u jednoj tabeli imam sledecih 6 polja: datum 1, iznos1, datum2, iznos2, datum3, iznos3.
Treba mi upit koji ce da sabere iznose na sledeci nacin, ako je zadati datum (parametar) pre datuma1, da se u sumu ukljuci iznos1, ako je zadati datum (parametar) pre datuma2, da se u sumu uracuna iznos2 i ako je zadati datum pre datuma3, da se u ukupnu sumu uracuna iznos3.
Naravno, u tabeli su u svakom redu drugaciji iznosi i drugaciji datumi, pa ce negde u zbir da udje iznos1, negde iznos2, a negde iznos3.
Jadino sto ce uvek da bude (ako je od neke pomoci) jeste da je datum1<(pre)datum2<datum3, a takodje iznos1<iznos2<iznos3
Da li je moguce resiti ovo sa jednim upitom i kako?
Da li treba napraviti pomocnu tabelu, pa u nju iz tri puta ubacivati rezultate za svaki uslov pojedinacno?

Hvala unapred!
 
Odgovor na temu

GoranVucicevic
Novi Sad

Član broj: 28045
Poruke: 66
*.dialup.neobee.net.

Sajt: www.clickersoftware.com


Profil

icon Re: Specifican upit, kako resiti?13.03.2005. u 20:58 - pre 232 meseci
Primer ako ti je zadati datum sistemski datum:
Code:

SELECT SUM(IIF(Datum1 > Date(), Iznos1, 0) + IIF(Datum2 > Date(), Iznos2, 0) + IIF(Datum3 > Date(), Iznos3, 0)) AS Ukupno 
FROM Tabela


Valjda sam te dobro razumeo. Ajd ziv bio!
Vidi: GoranVuc #4934
 
Odgovor na temu

cyberm

Član broj: 37993
Poruke: 146
*.uis.kg.ac.yu.



+1 Profil

icon Re: Specifican upit, kako resiti?14.03.2005. u 10:29 - pre 232 meseci
Gorane,
Pre svega, hvala ti na ovako brzom odgovoru. Ovo sto si mi poslao mi je stvarno od pomoci, ali ostaje mi jos jedan problem.
Sa ovim upitom mi sabira sve iznose ciji je datum veci od zadatog (u ovom slucaju sistemskog).
Npr. Ako je Datum1 > Date() i Datum2 > Date() i Datum3 > Date()
a to ce da bude uvek kad je Datum1 > Date(), onda se sabiraju svi iznosi, a trebalo bi samo da se uzme iznos1, a da se zanemare ostali.

Da bi bilo malo jasnije, aplikacija vodi racuna o dugovanjima. Ako se izmire do odredjenog datuma, vraca se jedna suma. Ako se ceka sa vracanjem duga, suma (dug) koja se vraca se povecava (iznos1<iznos2<iznos3).
Kada se pravi presek dugovanja, pravi se "najoptimistickija varijanta", t.j. da ce svi ljudi da vrate svoja dugovanja bas tog dana, tacnije najminimalnije sume.

Ako ti, ili neko drugi, ima bilo kakve ideje kao ovo resiti, bio bih veoma zahvalan.
 
Odgovor na temu

cyberm

Član broj: 37993
Poruke: 146
*.uis.kg.ac.yu.



+1 Profil

icon Re: Specifican upit, kako resiti?14.03.2005. u 11:02 - pre 232 meseci
Evo, malo sam jos eksperimentisao, pa sam dosao do resenja:

SELECT SUM(IIf(datum1>unesi,iznos1,IIf(datum2>unesi,iznos2,IIf(datum3>unesi,iznos3,suma)))) AS Ukupno
FROM Table1;

suma je vrednost koja se vraca, ako su "prosli" svi rokovi. To je maksimalni iznos duga za vracanje.
"unesi" je parametar (datum) za testiranje upita.
 
Odgovor na temu

[es] :: Access :: Specifican upit, kako resiti?

[ Pregleda: 2386 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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