【发布时间】:2019-05-16 11:24:57
【问题描述】:
我正在使用合并语句来更新 ModuleEnrollment 表中完成的课程数。这可行,但是如果从 Employee 中删除课程,则它仍保持其先前的值。有没有办法在合并语句中包含任何 EmployeeID 未包含在 CoursesComplete 表中的返回 0。
MERGE [dbo].[ModuleEnrollment] as ME
USING [dbo].[CoursesComplete]AS CC
ON ME.[EmployeeID] = CC.[EmployeeID] AND ME.[ModuleID] = CC.[ModuleID]
WHEN MATCHED THEN
UPDATE SET ME.[CoursesComplete]=CC.[CoursesComplete]
WHEN NOT MATCHED BY TARGET THEN
INSERT([EmployeeID],[ModuleID],[CoursesComplete]) VALUES(CC.
[EmployeeID],CC.[ModuleID],CC.[CoursesComplete]);
GO
【问题讨论】:
标签: sql-server merge