Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 3.353 pregleda

Najnovija ↓

Visestruki join nad 3 tabele ??? 19.01.2006. u 10:11 · pre 253 meseca #1
tbl_aktivnost: id_aktivnosti,naziv_aktivnosti,planirana_sredstva
tbl_projekti: id_projekta,id_aktivnosti,odobrena_sredstva
tbl_placanja: id_placanja, id_projekta,uplata

Treba da izvrsim upit nad ove tri tabele kako bih dobio sledeci rezultat

naziv_aktivnosti | planirana_sredstva | odobreno | uplaceno


gde je :
odobreno - suma odobrenih sredstava za datu aktivnost
uplaceno - suma uplacenih sredstava na svim projektima koji pripadaju datoj kategoriji aktivnosti.

Koristio sam 2 join-a i guop by naziv_aktivnosti ali nikako da mi sabere sve sto hocu. Kad mi sumira odobreno onda nece uplate i obrnuto.
HELP!!!
Re: Visestruki join nad 3 tabele ??? 19.01.2006. u 10:29 · pre 253 meseca #2
Neće moći tek tako 2 joina + group by, jer će ti se odobreno sumirati više puta, za svako plaćanje. Najjednostavnije rešenje je sa podupitima. Da li ti verzija podržava podupite?
Re: Visestruki join nad 3 tabele ??? 19.01.2006. u 10:43 · pre 253 meseca #4
Prvi deo radi ovako
Code:

SELECT 

  AKTIVNOST.NAZIV_AKTIVNOSTI,
  AKTIVNOST.PLANIRANA_GODISNJA_SREDSTVA,
  AKTIVNOST.KVARTALNA_SREDSTVA,
  sum(PROJEKAT.ODOBRENA_SREDSTVA)


FROM
 PROJEKAT INNER JOIN
 AKTIVNOST ON PROJEKAT.`ID_AKTIVNOSTI`=AKTIVNOST.`ID_AKTIVNOSTI`


GROUP BY

  AKTIVNOST.NAZIV_AKTIVNOSTI

ali sumiranje uplate neceeee
Re: Visestruki join nad 3 tabele ??? 19.01.2006. u 11:06 · pre 253 meseca #5
Naravno da neće kad su grupisani svi idovi projekata.

Nema podupita na matorom MySQL. Može onda s nekolicinom upita.

Neka prvi alteruje tabelu projekata kolonom suma uplata po projektu. Drugi upit onda bez problema odradi trazeno. Treći upit može da dropne privremenu kolonu.
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Visestruki join nad 3 tabele ??? 19.01.2006. u 11:26 · pre 253 meseca #6
Ili da uradi dva upita, jedan sa joinom samo na projekat (kao što je uradio u primeru), a drugi sa dva joina sa sumiranim uplatama, pa resultsetove spaja u kodu tamo gde mu treba...
Re: Visestruki join nad 3 tabele ??? 19.01.2006. u 11:40 · pre 253 meseca #8
Code:

SELECT naziv_aktivnosti, planirana_sredstva,
(SELECT SUM(odobrena_sredstva) FROM tbl_projekti WHERE id_aktivnosti = a.id_aktivnosti) odobreno,
(SELECT SUM(uplata) FROM tbl_placanja
INNER JOIN tbl_projekti ON tbl_placanja.id_projekta = tbl_projekti.id_projekta
WHERE id_aktivnosti = a.id_aktivnosti) uplate
FROM tbl_aktivnost a
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme