2012-04-15 3 views
0

MS Access에는 두 개의 테이블이 있습니다. 하나는 약속 테이블이고 다른 하나는 슬롯 테이블입니다. 마찬가지로 : Tables결합 된 테이블에서 레코드 선택

이제 슬롯 테이블에서 모든 레코드를 선택하고 TeacherID = "CR"인 약속 테이블에 레코드가있는 경우 StudentID를 표시하고 싶습니다.

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

그러나 이것은 단지 약속 테이블의 레코드가있는 슬롯을 선택합니다 :

내가 지금까지 가지고있는 SQL이다. 어떤 제안? 미리 감사드립니다!

답변

1

나는 당신을 이해하면 이해합니다. where 문은 필요하지 않습니다. 대신 LEFT JOIN에 넣으십시오. 좋아요 :

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

방금 ​​Access에서 시도했습니다. 그것은 그것을 좋아하지 않아. "Join Expression not supported"오류가 발생합니다. 그것은 MS-Access가 좋아하지 않는 것이기 때문입니까? –

+0

답변을 업데이트했습니다. 나는 당신이 괄호를 가지고 있지 않다면 이런 종류의 조인을 좋아하지 않는다. 시도해 볼 수 있습니까? – Arion

+0

완벽한! 매력은 작동합니다. –

관련 문제