Hallo,
ich habe ein (größeres) Problem mit einer Abfrage, die ich machen möchte. Ich habe folgende Tabelle:
usw. die Tabelle geht noch ewig so fortZur Erklärung: Ein Student S# ist in einem Kurs C# im Jahr year eingeschrieben und kann dort Test Nummer 1...n belegen, die jeweils aus Fragen 1...n bestehen, die wiederum aus parts a...z bestehen. Für jeden Part bekommt der Student eine Punktzahl.
Nun zu meinem Problem: Ich möchte jetzt mit einer Abfrage die Studenten rausfiltern, die einen Test komplett nicht abgegeben haben, d.h. die in jedem part dieses Tests 0 Punkte haben.
Mein Gedanke war, dass ich doch dafür sicherlich GROUP BY verwenden könnte, jedoch müsste ich doch mehrere GROUP BYs verschachteln oder? Denn ich muss ja zuerst für jeden Studenten den entsprechenden Kurs (denn es gibt ja mehr als nur C1) im entsprechenden Jahr (es gibt auch mehr als nur 2007) raussuchen und darin dann die Testnummer, und darin dann schließlich die Punkte aller parts summieren... Leider habe ich soetwas noch nie gesehen, und weiß daher nicht, wie das funktionieren soll?! Oder denke ich vielleicht viel zu kompliziert und es geht viel einfacher?
Es wäre wirklich wunderbar, wenn mir jemand von euch einen Tipp geben könnte!
Vielen Dank schonmal fürs drüber-nachdenken!
Gruß,
Sara
Geändert von serendipity (05.11.2008 um 14:05 Uhr)
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Code:select student from .. group by student, course, part where year = 2007 having sum(score) = 0 order by ..
so in etwa
Hey,
also vielen Dank erstmal, aber vielleicht hätte ich mich etwas klarer ausdrücken müssen: ich möchte nicht wissen, welcher Student im Jahr 2007 im Test 0 Punkte hatte sondern welche Studenten generell in irgendeinem Jahr, für irgendeinen Kurs und irgendeinen Test in allen parts 0 Punkte hatten...
Damit fallen eure beiden Lösungen leider raus, fürchte ich
Gruß,
Sara
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen