查询使用字段和条件的总和更新记录

时间:2017-06-26 07:41:19

标签: sql ms-access

我试图查看表中的所有记录,如果某些列的总和(HandleTime,HoldTime,NotReadyTime)大于另一列(LoggedTime),则将该列设置为总和。

基本上这个,扩展为整个表,但作为数据库中的SQL查询:

If Sum(HandleTime,HoldTime,NotReadyTime) > LoggedTime then
    LoggedTime = Sum(HandleTime,HoldTime,NotReadyTime)
End if

不确定是使用SELECT或UPDATE查询,还是如何利用总和。我想可能是DSUM?我试过了两个但是回到了空地。

提前致谢!

2 个答案:

答案 0 :(得分:1)

你的意思是:

update yourtable
set LoggedTime = HandleTime + HoldTime + NotReadyTime
where HandleTime + HoldTime + NotReadyTime > LoggedTime

答案 1 :(得分:0)

您不应该有一个包含计算值的表,这是查询的用途。像这样:

Select 
    *,
    IIf(LoggedTime > HandleTime + HoldTime + NotReadyTime, LoggedTime, HandleTime + HoldTime + NotReadyTime) As TotalTime
From
    YourTable