SQL Update语句使用另一个表中的数据

时间:2016-01-13 12:41:03

标签: sql ms-access join

我在数据库中有三个表,(不知道如何链接这个,但如果需要可以这样做)。我正在使用Microsoft Access作为我正在制作的时间表程序的数据库商店。我有一个查询,选择可以执行特定时间段的学生并将其插入到“课程表”中。现在我需要做的是更新一个字段' LessonTaken'用' Y'所以这个学生不会再被选中。为确保更新正确的字段,LessonID = 1的studentID表示需要与可用性表中的studentId对应并更新这些字段。但是我看不到这样做的方法。如果您需要数据库来查看我的意思,请随意提出。

非常感谢。

编辑:

学生表: 学生卡 名字 姓 Adrress ContactNo

LessonTable LessonID 学生卡 DAYOFWEEK 开始时间 时间结束 LessonPaid

可用性表: AvailabilityID 学生卡 DAYOFWEEK 开始时间 时间结束 LessonPaid

您将看到'课程表' LessonId为1,StudentID为3.更新语句需要更新可用性表'对于LessonTable中具有相同StudentID的记录,其LessonID为1.因此,在此示例中,可用性表中具有studentID为3的所有记录都需要具有“LessonTaken”#39;字段已更新为' Y'。希望这可以帮助。

2 个答案:

答案 0 :(得分:0)

您需要学习一些SQL JOIN /子查询语法。例如:

public certificate

答案 1 :(得分:0)

正如Kilanny所说 我并不过分确定您想要更新哪些字段以及何时更新。我无法理解:

  

要确保更新了正确的字段,请输入LessonID =的studentID   1表示需要对应于可用性表中的studentId   并更新这些字段。

UPDATE (tbl_Student INNER JOIN tbl_Lesson ON tbl_Student.StudentID = tbl_Lesson.StudentID)
                    INNER JOIN tbl_Availability ON tbl_Student.StudentID = tbl_Availability.StudentID
SET     tbl_Lesson.LessonPaid = 1,
        tbl_Availability.LessonPaid = 1
WHERE   tbl_Student.StudentID = 2