2012-04-15 11 views
0

Ich habe zwei Tabellen in MS Access. Eine eine Termintabelle und eine eine Slot-Tabelle. Wie so: TablesAuswählen von Datensätzen in verknüpften Tabellen

Jetzt möchte ich jeden Datensatz aus der Steckplatztabelle auswählen und wenn es einen Datensatz mit TeacherID = "CR" in der Termintabelle gibt, möchte ich, dass die StudentID angezeigt wird.

Dies ist die SQL ich bisher habe:

SELECT Slot.SlotNumber, Slot.SlotTime, Appointment.TeacherID 
FROM Slot LEFT JOIN Appointment ON Slot.SlotNumber = Appointment.SlotNumber 
WHERE Appointment.TeacherID="CR" 

dies jedoch wählt nur die Schlitze, wo es einen Datensatz in der Termintabelle ist. Irgendwelche Vorschläge? Danke im Voraus!

Antwort

1

Wenn ich dich verstehe, richtig. Sie wollen nicht die where Anweisung. Setzen Sie es stattdessen in die LEFT JOIN. Gefällt mir:

SELECT 
    Slot.SlotNumber, 
    Slot.SlotTime, 
    Appointment.TeacherID 
FROM 
    Slot 
    LEFT JOIN Appointment 
    ON (Slot.SlotNumber = Appointment.SlotNumber 
    AND Appointment.TeacherID="CR") 
+0

Ich habe das gerade in Access versucht. Es gefällt mir nicht. Es wird der Fehler "Join-Ausdruck wird nicht unterstützt" angezeigt. Ist das etwas, das MS-Access nicht mag? –

+0

Ich habe die Antwort aktualisiert. Ich lese den Access nicht so gerne ein, wenn du keine Klammern hast. Kannst du es versuchen? – Arion

+0

Perfekt! Danke, das wirkt charmant! –

Verwandte Themen