Czesc I czołem mam taki oto problem :
zrobić zestawienie zawierające następujące dane; nazwisko i imię wykładowcy, nazwisko i imię studenta, który u danego wykładowcy otrzymał najwięcej ocen niedostatecznych w roku 2015 i jednocześnie w danym roku nie otrzymał od danego wykładowcy ani jednej oceny dobrej. W zestawieniu uwzględnić tylko tych studentów którzy uzyskali u danego wykładowcy więcej niż 2 oceny niedostateczne.
Struktura bazy danych:
Studenci ( IdStudenta,imie,nazwisko,pesel,idGrupy)
Oceny (IdOceny,IdStudenta,IdWykladowcy,IdPrzedmiotu,IdRodzajOceny,DataOceny,Ocena)
Wykladowcy (IdWykl,Nazwisko,Imie,DataUr,Kobieta)
RodzajeOcen (IdRodzaju,Nazwa,Symbol)
Przedmioty (IdPrzedmiotu,Nazwa,IdKierunkuStudiow)
KierunkiStudiow (IdKierunku,NazwaKierunku)
GrupySzkoleniowe (IdGrupy,Nazwa,IdKierunkuStudiow)
Kod:
;With tmp as
(
Select S.Imie as ImieStudenta,
S.Nazwisko NazwiskoStudenta,
W.Imie as ImieWykladowcy,
W.Nazwisko as NazwiskoWykladowcy,
Ocena ,
count(O.Ocena) as ile
from Oceny as O
inner join Studenci as S on O.IdStudenta=S.IdStudenta
inner join Wykladowcy as W on O.IdWykladowcy=W.IdWykladowcy
where O.DataOceny between '2015-01-01' and '2015-12-31' and Ocena=1.00
group by S.Imie,S.Nazwisko,W.Imie,W.Nazwisko,Ocena,IdGrupy
)
select* from tmp
where ile>2
Pytanie , jak wyciągnąc ilość określonych ocen tzn.Ile ten student ma ocen* ndst* , ile ocen bdb itd,Bo gdy to bedzie mozna strzelic sobie dense rank i mamy ranking.I jeszcze jak wyciagnac brak oceny db z danego roku. Dzieki za pomoc.