Hilfe mit SQL-Anweisung (JOIN)

8

Ich habe Probleme mit einer SQL-Anweisung, die die Anzahl der Teilnehmer eines Kurses ermitteln muss. Mein Datenbankentwurf sieht folgendermaßen aus:

Tabelle Kurs: ID | Kursname

Tabelle Student: ID | Name

Und um die zwei Viele-zu-Viele-Beziehung zu verbinden, habe ich eine Tabelle:

Tabelle course_student: ID | Kurs_ID | student_id

Ich möchte herausfinden, wie viele Studenten den Kurs "Database Design" besuchen. Ich weiß, dass die ID "1" ist, aber sagen wir, dass ich nicht wusste, wie würde meine SQL-Anweisung aussehen?

Ich habe mehrere verschiedene Anweisungen mit verschiedenen Joins ausprobiert, um zuerst die richtige ID aus der Tabelle course auszuwählen, wo der Name "Database Design" ist und als nächstes muss ich in suchen course_student Tabelle, in der die course_id der gegruendeten ID entspricht (in diesem Fall 1) und wo alle student_id mit dieser ID verbunden ist.

Ich weiß, dass es eine etwas komplexe Beschreibung ist, also sag mir bitte, ob ich es besser erklären muss.

Danke Mestika

    
Mestika 11.03.2010, 14:06
quelle

3 Antworten

9

Sie können etwas wie

ausprobieren %Vor%

Sie müssen der Tabelle "Students" nicht beitreten, da Sie bereits über die ID in der Tabelle "course_student" verfügen, also 1 weniger beitreten.

    
Adriaan Stander 11.03.2010, 14:08
quelle
0

nur ein etwas anderer Stil, aber gleiche Ergebnisse

select COUNT(cs.student_id) as counter from Course c, course_student cs where c.id = cs.course_id and c.course_name = 'Database Design'

    
Jay 11.03.2010 14:15
quelle
0
%Vor%     
Gabe 11.03.2010 14:12
quelle

Tags und Links