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

upit avg sa izostavljanjem

[es] :: MS SQL :: upit avg sa izostavljanjem

[ Pregleda: 1778 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

DragganNS
Banja Luka

Član broj: 122437
Poruke: 12
*.teol.net.



Profil

icon upit avg sa izostavljanjem23.11.2006. u 22:30 - pre 211 meseci
Kako da izracunam avg za neku kolonu, ali da mi se u slucaju pojavljivanja odredjenog broja ne vrsi izracunavanje? Primjer je za prosjek ocjena ucenika. Ako ucenik ima 1 iz nekog predmeta da se ne racuna prosjek vec po mogucnosti tekst ’pao’.
Hvala!
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

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



+41 Profil

icon Re: upit avg sa izostavljanjem24.11.2006. u 02:04 - pre 211 meseci
Ima vise resenja na zadatu temu, ovo moze biti jedno od onih koje se brze izvrsavaju na vecem setu podataka:
Code:

SELECT Ucenik.Ime, (CASE WHEN ISNULL(BrojJedinica, 0) = 0 THEN CAST(ProsOcena AS nvarchar(10)) ELSE 'Pao zbog ' + CAST(BrojJedinica AS nvarchar(10)) + ' jedinica' END) AS ProsecnaOcena   
FROM Ucenik 
LEFT JOIN (SELECT AVG(OcenaValue) AS ProsOcena, UcenikID FROM Ocena GROUP BY UcenikID) AS Prosek ON Ucenik.UcenikID = Prosek.UcenikID 
LEFT JOIN (SELECT COUNT(*) AS BrojJedinica, UcenikID FROM Ocena WHERE OcenaValue = 1 GROUP BY UcenikID) AS Padachi ON Ucenik.UcenikID = Padachi.UcenikID 

To ti je to, nisam probao pa izvini ako ima neka greska, mislim da je bitna ideja. Naravno, ovde sam pretpostavio puno stvari, jer nam nisi specificirao kako se zovu tabele i polja "u igri".
 
Odgovor na temu

[es] :: MS SQL :: upit avg sa izostavljanjem

[ Pregleda: 1778 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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