Poslao: 16 Mar 2012 17:04
|
offline
- Shmella
- Novi MyCity građanin
- Pridružio: 19 Jun 2008
- Poruke: 4
|
Treba da odradim ovo :
1. Izračunati prosek ocena po ID Predmeta
Prikazati u rezultat kolonu PredmetID i sumu ocena, grupisati po koloni PredmetID iz tabele StudentPredmet
2. Izračunati prosek ocena za svakog studenta
Selektovati kolone StudentPredmet.StudentID, Student.Ime, Student.Prezime, Ocena
Koristeći tabele dbo.StudentPredmet, dbo.Student
Rezultat prikazati desc nad kolonom StudentPredmet.StudentID
Ja sam odradio tabele , poglede i dijagrame ali ovo mi nikako ne ide.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 16 Mar 2012 20:03
|
offline
- N1k0l4
- Prijatelj foruma
- Pridružio: 06 Sep 2005
- Poruke: 3800
- Gde živiš: Beograd
|
prvo bi bilo nesto tipa
select id, avg(ocena) as ocena from predmeti group by id
drugo probaj sam pa javi dal ide, na istu je foru samo trazis druge podatke. I na kraju stavljas order by id desc
|
|
|
|
Poslao: 17 Mar 2012 10:43
|
offline
- Shmella
- Novi MyCity građanin
- Pridružio: 19 Jun 2008
- Poruke: 4
|
Nisam uspeo nista Javlja gresku : Msg 208, Level 16, State 1, Line 1
Invalid object name 'predmeti'.
|
|
|
|
Poslao: 17 Mar 2012 14:18
|
offline
- N1k0l4
- Prijatelj foruma
- Pridružio: 06 Sep 2005
- Poruke: 3800
- Gde živiš: Beograd
|
pa ne mozemo ti ovako reci u cemu je tacan problem. Moras dati vise detalja. Kakav si tacno upit napravio i kakva ti je struktura tabele. Ja sam i ovo napisao kao primer, pitanje je da li imas takve atribute.
Odakle izvrsavas? Ovo je MSSQL? Jesi stavio go pre i posle naredbe?
|
|
|
|
Poslao: 17 Mar 2012 16:29
|
offline
- Shmella
- Novi MyCity građanin
- Pridružio: 19 Jun 2008
- Poruke: 4
|
Napisano: 17 Mar 2012 14:34
izvrsavam iz MSSQL
ma jesam stavio GO ali nista
Dopuna: 17 Mar 2012 15:34
Sredio sam prvi
Hvala N1k0l4 !
Dopuna: 17 Mar 2012 16:29
Zavrsio sam sve
Hvala puno N1kol4
|
|
|
|
Poslao: 28 Feb 2015 12:07
|
|
Column 'dbo.StudentPredmet.StudentID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. meni se ovo pojavljuje. moj upit je
select dbo.StudentPredmet.StudentID, dbo.Student.Ime, dbo.Student.Prezime, dbo.StudentPredmet.Ocena,
AVG (dbo.StudentPredmet.Ocena) as Ocena from dbo.Student inner join dbo.StudentPredmet on dbo.Student.StudentID = dbo.StudentPredmet.StudentID
group by dbo.Student.Ime, dbo.Student.Prezime, dbo.Student.BrojIndexa, dbo.Student.Telefon, dbo.StudentPredmet.PredmetID
order by dbo.Student.StudentID desc
|
|
|
|
Poslao: 28 Feb 2015 12:31
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
Prilikom korišćenja klauzule GROUP BY, sve kolone koje su navedene u klauzuli SELECT a na koje nije primenjena neka funkcija agregacije, moraju biti navedene u GROUP BY klauzuli. dbo.StudentPredmet.StudentID je uključen u GROUP BY klauzuli, ali dbo.StudentPredmet.Ocena nije koliko vidim. Dodaj i to (ili još bolje ukloni kolonu dbo.StudentPredmet.Ocena, pošto nakon toga imaš primenu funkcije agregacije za računanje prosečne ocene, pa ti dve nisu potrebne) pa probaj ponovo.
|
|
|
|
Poslao: 28 Feb 2015 18:28
|
|
Napisano: 28 Feb 2015 15:10
select dbo.Student.Ime, dbo.Student.Prezime,
avg(dbo.StudentPredmet.Ocena) as srednjaOcena
from dbo.Student INNER JOIN dbo.StudentPredmet on dbo.Predmet.PredmetID = dbo.StudentPredmet.PredmetID
group by dbo.Student.Ime, dbo.Student.Prezime
order by dbo.Student.Ime DESC
gde gresim kada racunam prosecnu po ucenuku
Dopuna: 28 Feb 2015 18:28
ok, ovaj jedan sam uspeo. ovo je prosek ocena po studentId desc
select dbo.Student.Ime, dbo.Student.Prezime, dbo.StudentPredmet.StudentID,
avg(dbo.StudentPredmet.Ocena) as srednjaOcena
from dbo.Student INNER JOIN dbo.StudentPredmet ON dbo.Student.StudentID = dbo.StudentPredmet.StudentID
group by dbo.Student.Ime, dbo.Student.Prezime, dbo.StudentPredmet.StudentID
order by dbo.StudentPredmet.StudentID DESC
jos prosek ocena po ID Predmeta
Prikazati u rezultat kolonu PredmetID i sumu ocena, grupisati po koloni PredmetID iz tabele StudentPredmet
koristeci
tabele dbo.StudentPredmet, dbo.Student
tabele dbo.StudentPredmet, dbo.Student
|
|
|
|