首先,对于 DB'es 来说应该很容易,但它真的让我很痛苦,我不知道为什么,,
我有两个表,名为 Applicationforms 的 [Table1] 和名为 WFInstance 的 [Table2] 我需要使用表 2 中的 startedDate 值更新 Table1 中的 FormSubmitDate,其中 FormSubmitDate 为空。我写了以下查询
UPDATE ApplicationForm
SET FormSubmitDate = wfi.StartDate
FROM ApplicationForm app ,
WorkFlowInstances wfi
WHERE app.FormSubmitDate is null and wfi.applicationID = app.ID
当我运行查询时,SQL 将查询重新生成到这个,,
UPDATE ApplicationForm
SET FormSubmitDate = wfi.StartDate
FROM ApplicationForm AS app INNER JOIN
WorkFlowInstances AS wfi ON app.ID = wfi.ApplicationID CROSS JOIN
ApplicationForm
WHERE (app.FormSubmitDate IS NULL)
我尝试使用 join 写另一个语句,,
UPDATE ApplicationForm
SET FormSubmitDate = wfi.StartDate
FROM ApplicationForm
JOIN WorkFlowInstances wfi ON ApplicationForm.ID = wfi.ApplicationID
WHERE FormSubmitDate is null
和 SQL 生成相同的新语法,,
现在当我运行代码时,[所有记录] formSubmitDate 字段填充了第二个表 startDate 的第一个值。即使我有一条记录在 table1 中包含空值
我在这里想念什么!?