我正在尝试使用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];
它不断出现表达式中的错误"语法错误"。 请帮忙!
提前致谢。
答案 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