Access update sql throws error“查询表达式中的语法错误”

时间:2014-07-10 15:38:05

标签: ms-access

我正在尝试使用Medicaldetails表中MedRecID匹配的详细信息更新我的学生表。这就是我所拥有的:

UPDATE
    [Students]
INNER JOIN MedicalDetails
    ON ([Students].[Allergies]=MedicalDetails.[Allergies])
    AND [Students]].[EmergencyContact1]=MedicalDetails.[EmergencyContact1])
SET
    [Students].[Allergies] = [MedicalDetails].[Allergies],
    [Students].[EmergencyContact1] = [MedicalDetails].[EmergencyContact1]
WHERE
    [Students].[MedRecID] = [MedicalDetails].[MedRecID];

它不断出现表达式中的错误"语法错误"。 请帮忙!

提前致谢。

1 个答案:

答案 0 :(得分:0)

在您的查询中,您正在更新:

Students.Allergies = MedicalDetails.Allergies,
Students.EmergencyContact1 = MedicalDetails.EmergencyContact1

您也可以通过以下方式加入:

ON (Students.Allergies = MedicalDetails.Allergies)
AND Students.EmergencyContact1 = MedicalDetails.EmergencyContact1)

这不会更新任何内容,因为值将彼此相等。

我认为你要做的是:

UPDATE s
SET s.Allergies = m.Allergies, s.EmergencyContact1 = m.EmergencyContact1
FROM Students s
INNER JOIN MedicalDetails m ON s.MedRecID = m.MedRecID