Sql 如何每日更新专栏

Sql 如何每日更新专栏,sql,sql-server,Sql,Sql Server,如何通过添加列的现值和新的更新值来更新列 例如 如果countofcustomer列的值是5 yester,而今天如果v得到的是新的更新值 countofcustomer为2,则该列应更新为7。我不确定是否正确理解该问题,但触发器可能有用: update table set value = v.value from table t join (Select Sum(value),customer from table where month(ENDDATETIME) = month(get

如何通过添加列的现值和新的更新值来更新列

例如

如果countofcustomer列的值是5 yester,而今天如果v得到的是新的更新值


countofcustomer为2,则该列应更新为7。

我不确定是否正确理解该问题,但触发器可能有用:

update table
set value = v.value 
from table t join 
(Select Sum(value),customer
from table
where month(ENDDATETIME) =  month(getdate())    
group by customer
)v
on v.customer = t.customer
当对表的事件像更新一样引发时,您将执行操作。

请尝试:

update tbl set countofcustomer=countofcustomer + 2

更新表集合countofcustomer=countofcustomer+2@Nikil-可能会有2个或5个或更多的随机值,因此我想我无法在查询更新表中添加+2设置countofcustomer=countofcustomer+从表中选择count*,其中added_date=sysdate它将值加倍并得到更新…@Azar-我每月都会得到计数,所以我应获得本月的客户数,即7月1日至31日。上面的查询也给了我上个月的计数。我在where子句中使用了这个条件,其中ENDDATETIME>=DATEADDDD,DATEDIFFDay,0,GetDate,0和ENDDATETIME dateadd函数的用法不正确您应该在最后一个参数中有date列,否则就好像它是0 1900:01:01,如果是30 1900:01:30,请使用此datediffmm,endatetime,getdate=0我尝试了更新的查询。它给了我一个公认的结果。非常感谢你。真是帮了大忙