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

Suma Dugovanja i NULL vrednosti

[es] :: Access :: Suma Dugovanja i NULL vrednosti

[ Pregleda: 3701 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milos Milosevic
Beograd

Član broj: 98063
Poruke: 140
*.adsl.sezampro.yu.



Profil

icon Suma Dugovanja i NULL vrednosti12.12.2006. u 19:59 - pre 210 meseci
SELECT Korisnik.idKorisnika, Korisnik.Ime, Sum(Racuni.iznos) AS SumaDuga, Sum(Uplate.iznos) AS SumaUplata,
SumaUplate-SumaDuga AS Saldo
FROM Korisnik INNER JOIN (Racuni INNER JOIN Uplate ON Racuni.idRacuna=Uplate.idRacuna) ON Korisnik.idKorisnika=Racuni.idKorisnika
GROUP BY Korisnik.Ime, Korisnik.idKorisnika


Vratice rezultate ali ne uzima u obracun i NULL.

Kako ovo resiti?
Pozdrav!
Vreme je tica koja te kiti šarenim perjem no koja će doći
i da počupa svoje Ako budeš suviše vezao dušu svoju za perje
vreme će ti sa perjem i dušu očupati Ah kako će tada biti
nagota tvoja

Sv Vl. Nikolaj Velimirović
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Suma Dugovanja i NULL vrednosti13.12.2006. u 15:52 - pre 210 meseci
Zavisi na koji NULL mislis. Ako je NULL u sumi, recimo Sum(Uplate.iznos) , probaj Sum(NZ(Uplate.iznos,0))
Ako je to NULL u JOINu, pa jednostavno ne vraca korisnike koji nemaju uplate, onda koristi LEFT JOIN.

:-)
 
Odgovor na temu

Milos Milosevic
Beograd

Član broj: 98063
Poruke: 140
212.200.218.*



Profil

icon Re: Suma Dugovanja i NULL vrednosti13.12.2006. u 22:13 - pre 210 meseci
U JOIN-u. Za one (eventualno) koji su novi pa nisu ni jednom uplatili a izdat im je racun.

Onaj :-) verovatno se odnosi i na izbor dizajna baze bez tabele sa obracunima. Da prihvatio sam... :)
Bogu hvala pa se trudim da se oslobodim velike svoje Sujete.

Ostaje pitanje da li je ovo konacna i valjana varijanta:
Korisnik--Dokument--Uplata,
.....(1)--(vise)(1)--(vise),

ako jednom uplatom uplacuje po vise dokumenata, neka prosto razbije na vise uplata-u suprotnom treba i vezna tabela:
Korisnik--Dokument--poDokumentu--Uplata ("nazad za crtacu tablu")

Hvala (Zivela nam Dijaspora! :))

Vreme je tica koja te kiti šarenim perjem no koja će doći
i da počupa svoje Ako budeš suviše vezao dušu svoju za perje
vreme će ti sa perjem i dušu očupati Ah kako će tada biti
nagota tvoja

Sv Vl. Nikolaj Velimirović
 
Odgovor na temu

BiloKoje
Beograd

Član broj: 40147
Poruke: 401



+4 Profil

icon Re: Suma Dugovanja i NULL vrednosti14.12.2006. u 06:13 - pre 210 meseci

Iz prakse, mislim da je bolje napraviti veze Korisnik>Dokument i Korisnik>Uplate. Koliko god insistirali na jednoj uplatnici po jednom dokumentu, to u praksi ne ide. Uvek se nađe kupac koji uplati jednom uplatnicom više dokumenata, a ne obavesti nas koje dokumente plaće. Takođe je moguće i da izvrši delimičnu uplatu, odnosno da jedan dokumenat plaća sa više uplatnica.
 
Odgovor na temu

Milos Milosevic
Beograd

Član broj: 98063
Poruke: 140
212.200.219.*



Profil

icon Re: Suma Dugovanja i NULL vrednosti14.12.2006. u 10:22 - pre 210 meseci
Citat:
BiloKoje: Uvek se nađe kupac koji uplati jednom uplatnicom više dokumenata, a ne obavesti nas koje dokumente plaće.


"NE OBAVESTI NAS KOJE DOK UPLACUJE"
=> Korisnik(1)--(vise)Dokument & Korisnik(1)--(vise)Uplata & Dokument-(opciona)-Uplata

Planirao sam polje "regulisan", bool, u tabeli Dokument, koje bi se potvrdivalo pri uplati po dokumentu.
Ako se ne moze imati evidencija o tome po kojem se tacno dokumentu uplacuje, da li to znaci da na
ovo polje ne mogu da racunam?


Vreme je tica koja te kiti šarenim perjem no koja će doći
i da počupa svoje Ako budeš suviše vezao dušu svoju za perje
vreme će ti sa perjem i dušu očupati Ah kako će tada biti
nagota tvoja

Sv Vl. Nikolaj Velimirović
 
Odgovor na temu

BiloKoje
Beograd

Član broj: 40147
Poruke: 401



+4 Profil

icon Re: Suma Dugovanja i NULL vrednosti15.12.2006. u 05:56 - pre 210 meseci


Nije pouzdano da ćemo uvek imati pouzdan podatak koji dokument se uplaćuje, pa je bolje da se ulata vezuje samo za kupca. Stanje duga ili preplate kupca uvek možemo videti kroz karticu kupca kroz izračunato polje "saldo". Nije suvišno da se uz uplatu naznači i koji je račun plaćen ako to znamo, upravo kroz neko polje koje se opciono popunjava, recimo "poziv na broj dokumenta".

U samoj tabeli "dokumenti", mislim da bi polje "regulisan" bilo suvišno.
 
Odgovor na temu

Milos Milosevic
Beograd

Član broj: 98063
Poruke: 140
*.adsl-1.sezampro.yu.



Profil

icon Re: Suma Dugovanja i NULL vrednosti15.12.2006. u 14:47 - pre 210 meseci
Hvala i Uzdravlje!

Vreme je tica koja te kiti šarenim perjem no koja će doći
i da počupa svoje Ako budeš suviše vezao dušu svoju za perje
vreme će ti sa perjem i dušu očupati Ah kako će tada biti
nagota tvoja

Sv Vl. Nikolaj Velimirović
 
Odgovor na temu

Milos Milosevic
Beograd

Član broj: 98063
Poruke: 140
*.adsl-1.sezampro.yu.



Profil

icon Re: Suma Dugovanja i NULL vrednosti26.12.2006. u 23:42 - pre 210 meseci
Posle duzeg vremena evo problema,
primetio sam anomaliju u istom upitu:

Rezultati u Sumama (SumaUplata i SumaDuga) Uvecani su u pojedinim slogovima, i to po vise puta.
Obicno je to celobrojni umnozak prave sume, mada nisam siguran
da je to pravilo.
I jos nesto: Svakim unosom zapisa u Dugovanja, SumaUplata se umnozava. Kao da sumira-prolazi vise puta
po korisniku.

Napominjem da su dabele u vezi:

[Dokument]8--1[Korisnik]1--8[Uplata]

Query:

SELECT Korisnik.idKor, Nz(Sum(Uplata.iznos),0) as SumaUplata, Nz(Sum(Dokument.iznos),0) as SumaDuga
FROM (Korisnik LEFT JOIN Dokument ON Korisnik.idKor = Dokument.idKor) LEFT JOIN Uplata ON Korisnik.idKor = Uplata.idKor
GROUP BY Korisnik.idKor;

Hvala.

[Ovu poruku je menjao diplIng dana 27.12.2006. u 01:09 GMT+1]
Vreme je tica koja te kiti šarenim perjem no koja će doći
i da počupa svoje Ako budeš suviše vezao dušu svoju za perje
vreme će ti sa perjem i dušu očupati Ah kako će tada biti
nagota tvoja

Sv Vl. Nikolaj Velimirović
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Suma Dugovanja i NULL vrednosti27.12.2006. u 03:01 - pre 210 meseci
Citat:
diplIng: Posle duzeg vremena evo problema,
primetio sam anomaliju u istom upitu:

Rezultati u Sumama (SumaUplata i SumaDuga) Uvecani su u pojedinim slogovima, i to po vise puta.
Obicno je to celobrojni umnozak prave sume, mada nisam siguran
da je to pravilo.
I jos nesto: Svakim unosom zapisa u Dugovanja, SumaUplata se umnozava. Kao da sumira-prolazi vise puta
po korisniku.

Napominjem da su dabele u vezi:

[Dokument]8--1[Korisnik]1--8[Uplata]

Query:

SELECT Korisnik.idKor, Nz(Sum(Uplata.iznos),0) as SumaUplata, Nz(Sum(Dokument.iznos),0) as SumaDuga
FROM (Korisnik LEFT JOIN Dokument ON Korisnik.idKor = Dokument.idKor) LEFT JOIN Uplata ON Korisnik.idKor = Uplata.idKor
GROUP BY Korisnik.idKor;

Hvala.

[Ovu poruku je menjao diplIng dana 27.12.2006. u 01:09 GMT+1]

Nije anomalija, nego "inercija".

Evo kako treba:
Code:

SELECT Korisnik.idKor, Nz(SumaUpl,0) AS SumaUplata, Nz(SumaDok,0) AS SumaDuga
FROM (Korisnik LEFT JOIN 
(SELECT idKor, Sum(iznos) as SumaDok FROM Dokument GROUP BY idKor)
AS Dokumenti ON Korisnik.idKor = Dokumenti.idKor) 
LEFT JOIN 
(SELECT idKor, Sum(iznos) as SumaUpl FROM Uplata GROUP BY idKor)
AS Uplate ON Korisnik.idKor = Uplate.idKor

Naravno, to radi samo za novije verzije Access-a koje podrzavaju referenciranje podupita.
 
Odgovor na temu

[es] :: Access :: Suma Dugovanja i NULL vrednosti

[ Pregleda: 3701 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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