[ holabojana @ 30.06.2011. 18:30 ] @
Treba mi pomoć oko upotrebe SUM() funkcije, nešto vežbam po skriptama sa neke više škole pa ne mogu da se snađem.
Ovako izgleda baza http://img27.imageshack.us/img27/5379/mdbd.jpg
A ja bi trebalo da kreiram upit koji prikazuje ime kupca i ukupnu sumu novca koju je kupac potrošio prilikom kupovine ali samo za one kupce koji su potrošili više od 300 din. Verujem da je problem prost ali ne znam kako da povežem tabele, mozak stade i ne vredi. Unapred hvala.
[ Aleksandar Ružičić @ 30.06.2011. 19:28 ] @
Nisam 100% siguran da ce ovo da radi u Access-u ali probaj (ovo bi radilo u MySQL-u):
Code:

SELECT ime, SUM(cena * kolicina) AS ukupno 
FROM kupci AS k 
INNER JOIN kupovina AS kp ON k.kupacID = kp.kupacID 
INNER JOIN naslovi AS n ON n.naslovID = kp.naslovID 
GROUP BY k.kupacID
HAVING ukupno > 300;
[ holabojana @ 30.06.2011. 19:51 ] @
Ne radi, kaže syntax error :/
Ali sam spojila tvoje rešenje sa onim što sam ranije pokušavala i sada radi :)
A izgleda ovako:

Code:
SELECT ime, SUM(cena*kolicina) AS ukupno
FROM kupci AS k, kupovina AS kp, naslovi AS n
WHERE k.kupacID=kp.kupacID and kp.naslovID=n.naslovID
GROUP BY k.kupacID, ime
HAVING SUM(cena*kolicina)>300;


Veliko hvala :)
[ Aleksandar Ružičić @ 30.06.2011. 20:00 ] @
moguce da se JOIN sintaksa razlikuje kod Accessa i MySQL-a (u Accessu nisam nikada radio stvarno), ali bitno je da si se snasla :)
[ captPicard @ 04.07.2011. 13:15 ] @
Mislim da bi ti i rješenje od kolege trebalo raditi (čak je i "točnije") samo trebaš vjerojatno umjesto HAVING iznos staviti HAVING SUM(kolciina * cijena).

Code:
SELECT ime, SUM(cena * kolicina) AS ukupno 
FROM kupci AS k 
INNER JOIN kupovina AS kp ON k.kupacID = kp.kupacID 
INNER JOIN naslovi AS n ON n.naslovID = kp.naslovID 
GROUP BY k.kupacID
HAVING SUM(cena * kolicina) > 300;