Sql 更新表中的多个字段,其中一个字段取决于另一个字段
我在更新表中的3个值时遇到问题 我正在使用以下代码:Sql 更新表中的多个字段,其中一个字段取决于另一个字段,sql,ms-access,sql-update,Sql,Ms Access,Sql Update,我在更新表中的3个值时遇到问题 我正在使用以下代码: UPDATE tblOperation SET tblOperation.DateDifference = DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate]), tblOperation.Tax = tblOperation.Value*tblOperation.Percentage/3000*tblOperation.DateDifference, tblO
UPDATE tblOperation
SET
tblOperation.DateDifference = DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate]),
tblOperation.Tax = tblOperation.Value*tblOperation.Percentage/3000*tblOperation.DateDifference,
tblOperation.FinalValue = tblOperation.Value-tblOperation.Tax;
问题是它只更新DateDifference值。要更新其他字段,我必须再运行两次代码
如何在一次运行中执行此操作?在这样的一个查询中无法执行此操作,因为第二次和第三次更新使用的是前面列的值。因为它们都是在一个集合中更新的,所以您也必须计算它们。不能只使用列名。基本上,它不会同步更新每一列
UPDATE tblOperation
SET
tblOperation.DateDifference = DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate]),
tblOperation.Tax = tblOperation.Value*tblOperation.Percentage/3000*(DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate])),
tblOperation.FinalValue = tblOperation.Value-(tblOperation.Value*tblOperation.Percentage/3000*(DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate])));
您可以在update语句中计算这些值。我在答案里是怎么说的。