Hallo,
ich habe leider etwas komplizierteres. ich hoffe nur das ich es so erklären kann, dass man es ohne die Tabellen versteht.
also ich hab 4 Tabellen.
- tPerson
- tLN_Beurteilung
- tZeugnisNoten
- tUek_Beurteilung.
gut,… von den „Noten“-Tabellen werden jeweils die Noten von der Ausgewählten Person und von dem angegebenen Semester selectiert.
Jedoch, hat nicht jede Person in jedem Semester zu jedem Fach eine Note. also Beispiel.
Person 10, hat im 7 semester folgende Noten: (der Schnitt wird angegeben)
zeugnis: 5
LNBeurteilung: 5.16
tUKBeurteilung: NULL
eigentlich ist es kein Problem. mit Folgendem Select hab ich versucht die Infos zu finden.
select
avg(tZeugnisNoten.Note)as zNote,
AVG(tLN_Beurteilung.LN_Note)as lNote,
isNull(AVG(tUek_Beurteilung.Note), 0) as uNote
From tPerson left outer Join
tLN_Beurteilung
on tPerson.id = tLN_Beurteilung.Lehrling_id left outer join
tZeugnisNoten
on tPerson.id = tZeugnisNoten.Person_id left outer Join
tUEK_Beurteilung
on tPerson.id = tUek_Beurteilung.Person_id
WHERE tPerson.id = 10
and (tLN_Beurteilung.Semester = 7 OR tLN_Beurteilung.Semester IS NULL)
and (tZeugnisNoten.Semester = 7 OR tZeugnisNoten.Semester IS NULL)
and (tUek_Beurteilung.Semester = 7 OR tUek_Beurteilung.Semester IS NULL)
klingt eigentlich nicht schlecht…
aller dings sieht das Resultat nun wie Folgt aus:
zNote = NULL
lNote = NULL
uNote = 0
also nicht so das was ich wollte.
wie kann ich dieses Problem abfangen, also wenn in einer Tabelle eben eine Person in dem gesuchten Semester keine Note hat. Damit die anderen Resultate nicht gleich danaben sind…
mache ich die gleiche Selection, aber lasse die Semster abfrage weg,
erhalte ich die Resultate aber sie sind falsch, da sie nicht auf die Semester abgestimmt sind…
hoffe jemand hat noch ein mal eine Idee
bin langsam am verzweifeln…
ud hoffe ihr seid draus gekommen?!?
grüässli Häxli