[ Strojko @ 28.06.2016. 07:25 ] @
Spremam ispit, uradio sam gomilu zadataka sličnih ovom ali ovaj mi ili ne leži ili je mnogo teži i baš sam zapeo s njim :) Molim Vas za pomoć

Imam tabelu Radnik sa atributima: Sifra_Zaposlenog, Ime, Prezime, Datum_Rodj, Pol, Plata, Sifra_Profesije, Sifra_Odeljenja, Sifra_Rukovodioca

Zadatak glasi:

Napisati upit koji će prikazati Ime, Prezime, Šifru odeljenja i platu onih radnika koji imaju platu veću od prosečne plate njihovog odeljenja. Prikazati takođe i prosečnu platu njihovog odeljenja.
[ Dusan Kondic @ 28.06.2016. 08:43 ] @
Kucam naslepo, ali mislim da je tačno:
Code:
SELECT r1.Ime, r1.Prezime, r1.Sifra_Odeljenja, r1.Plata, (SELECT AVG(r2.Plata) FROM Radnik r2 WHERE r2.Sifra_Odeljenja = r1.Sifra_Odeljenja) AS ProsenaPlataOdeljenja 
FROM Radnik r1 WHERE r1.Plata > (SELECT AVG(r2.Plata) FROM Radnik r2 WHERE r2.Sifra_Odeljenja = r1.Sifra_Odeljenja)
[ djoka_l @ 28.06.2016. 08:50 ] @
Moguće da je tačno, ja bih samo jednom računao prosečnu platu:

Code (sql):

SELECT r.Ime, r.Prezime, r.Sifra_Odeljenja, r.Plata, p.Prosek
FROM Radnik r, (
        SELECT AVG(Plata) AS Prosek, Sifra_Odeljenja
        FROM Radnik
        GROUP BY Sifra_Odeljenja) p
WHERE r.Sifra_Odeljenja = p.Sifra_Odeljenja
AND    r.Plata > p.Prosek
 
[ Strojko @ 28.06.2016. 11:51 ] @
Hvala puno na odgovorima, i rešenje je OK i naučio sam par novih fora od profesionalaca. Pozdrav