0

我觉得这是一个非常基本的 SQL 问题,但我在寻找答案时遇到了麻烦。

本质上,我想在我的 SQL 语句中编写的逻辑是这样的。

当对一行进行更新而不是仅仅清除那里的数据时,将它们加在一起。

所以如果我有一行"9/19/13" | 0 | 1 | 0,现在我想用这个条目更新那一行,"9/19/13" | 0 | 1 | 0我得到"9/19/13" | 0 | 2 | 0.

我当前的更新命令看起来像这样。

UPDATE entries(Date, John, Mark, Casey) SET (@Date, @John, @Mark, @Casey) WHERE(Date = @Date);

我可以在我的实际代码中轻松地做到这一点,在那里我会检索条目增量,然后只进行定期更新,但我觉得应该可以使用直接 SQL 来做到这一点,而且会更干净。

4

2 回答 2

3

你是这个意思吗?

-- @John, @Mark, @Casey are set in advance

UPDATE entries(Date, John, Mark, Casey) 
    SET (@Date, John + @John, Mark + @Mark, Casey + @Casey)
    WHERE (Date = @Date);
于 2013-09-19T21:32:15.740 回答
0

调用 update 只是将 db 中的值设置为您传入的值,而不是将现有值(在数字的情况下)添加到您正在更新的值中。

在更新之前增加值会简单得多,因为您已经拥有它。

于 2013-09-19T21:13:52.673 回答