2012-04-15 75 views
0

我在MS Access中有两个表。一个预约表和一个插槽表。像这样: Tables在连接表中选择记录

现在我想从插槽表中选择每个记录,并且如果在约会表中有一个TeacherID =“CR”的记录,我希望它显示StudentID。

这是SQL我到目前为止:

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

然而,这只是选择那里是在约会表中记录的插槽。有什么建议么?提前致谢!

回答

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中试过。它不喜欢它。它抛出错误“不支持连接表达式”。那是因为MS-Access不喜欢什么? – 2012-04-15 11:44:20

+0

我更新了答案。如果你没有括号,我读了Access不喜欢这种加入。你可以试试吗? – Arion 2012-04-15 11:55:54

+0

完美!谢谢你的魅力! – 2012-04-15 11:59:32