Hallo zusammen,
sitze nun schon seit Stunden hier und komme auf keinen grünen Zweig.
Hintergrund:
Ich habe folgende Tabellen in einer Access Datenbank (Version 2003)
student: [student_id, lastname, firstname]
Primärschlüssel: student_id
------------------------------------
enrolment: [enrol_id,student_fk, class_fk, enrol_year]
Primärschlüssel: enrol_id
-----------------------------------------
assessment: [assessment_id, name, type]
Primärschlüssel: assessment_id
----------------------------------------------
class: [class_id, time, day]
Primärschlüssel: class_id
-------------------------------------------------------------
assessment_in_class: [assessment_fk, class_fk]
Primärschlüssel: class_fk und assessment_fk
--------------------------------------------------------
assessment_result: [student_fk, assessment_fk, date, result]
Primärschlüssel: student_fk und assessment_fk
Habe mal einen Screenshot der Beziehungen angehängt, ist wahr. einfacher.
Nun würde anhand Class und Assessment die Students selektieren. Heißt ich habe ein bestimmte Class und ein bestimmtes Assessment und möchte mir nun alle Students der Class ausgeben und falls es schon zugeordnete Werte in assessment_result gibt eben auch diese.
Diese SQL Abfrage bringt mir leider nur die Studenten zurück, die auch schon einen Eintrag in der assessment_result Tabelle haben, ich möchte aber eben alle Studenten der Class + etwaige Results aus der assessment_result Tabelle.
Habt ihr eine Idee?
sitze nun schon seit Stunden hier und komme auf keinen grünen Zweig.
Hintergrund:
Ich habe folgende Tabellen in einer Access Datenbank (Version 2003)
student: [student_id, lastname, firstname]
Primärschlüssel: student_id
------------------------------------
enrolment: [enrol_id,student_fk, class_fk, enrol_year]
Primärschlüssel: enrol_id
-----------------------------------------
assessment: [assessment_id, name, type]
Primärschlüssel: assessment_id
----------------------------------------------
class: [class_id, time, day]
Primärschlüssel: class_id
-------------------------------------------------------------
assessment_in_class: [assessment_fk, class_fk]
Primärschlüssel: class_fk und assessment_fk
--------------------------------------------------------
assessment_result: [student_fk, assessment_fk, date, result]
Primärschlüssel: student_fk und assessment_fk
Habe mal einen Screenshot der Beziehungen angehängt, ist wahr. einfacher.
Nun würde anhand Class und Assessment die Students selektieren. Heißt ich habe ein bestimmte Class und ein bestimmtes Assessment und möchte mir nun alle Students der Class ausgeben und falls es schon zugeordnete Werte in assessment_result gibt eben auch diese.
Code:
SELECT firstname, lastname, result
FROM (student LEFT JOIN assessment_result ON student.student_id=assessment_result.student_fk) INNER JOIN enrolment ON student.student_id=enrolment.student_fk
WHERE enrolment.class_fk=32 And assessment_result.assessment_fk=2;
Diese SQL Abfrage bringt mir leider nur die Studenten zurück, die auch schon einen Eintrag in der assessment_result Tabelle haben, ich möchte aber eben alle Studenten der Class + etwaige Results aus der assessment_result Tabelle.
Habt ihr eine Idee?