小弟才疏学浅,不知道能不能用一张表的同一字段的值进行比对,得到的值写入另一个字段。如列子:
这个表只有前面4个字段是外部写入 的数据,【name one two three】,后面字段的数据都是根据前面的数据而改变的
【oneUp,twoUp,threeUp】是【one,two,three】每次的增长数name one two three oneUp twoUp threeUp dTime
----- ---- ------ ------ ------ -------- -------- -------
aa 11 22 33 [defult]0 [defult]0 [defult]0 [getdate()]
bb 22 33 44 [defult]0 [defult]0 [defult]0 [getdate()]
cc 33 44 55 [defult]0 [defult]0 [defult]0 [getdate()]
我每5分钟得到3条数据,写入数据库。那么下次取得的数据就要和上面三行数据进行对比
aa 13 23 54 2 1 21 [getdate()]
bb 54 56 88 32 23 44 [getdate()]
cc 85 85 65 52 41 10 [getdate()]
----请问,用什么方法能做到上面的那个效果呢?
数据的差异就是写入时间不同 ,我知道得到不同时间段的数据
select * from [table] where datediff(minute,pTime,getdate()) between 5 and 10 order by convert(int,three) desc
这个是得到离现在 5 -- 10分钟的数据。后面就不知道该怎么写啊。。 高手请帮帮忙啊。 谢谢了。我就想每次插入数据的时候那几个字段就自动能算出值
这个表只有前面4个字段是外部写入 的数据,【name one two three】,后面字段的数据都是根据前面的数据而改变的
【oneUp,twoUp,threeUp】是【one,two,three】每次的增长数name one two three oneUp twoUp threeUp dTime
----- ---- ------ ------ ------ -------- -------- -------
aa 11 22 33 [defult]0 [defult]0 [defult]0 [getdate()]
bb 22 33 44 [defult]0 [defult]0 [defult]0 [getdate()]
cc 33 44 55 [defult]0 [defult]0 [defult]0 [getdate()]
我每5分钟得到3条数据,写入数据库。那么下次取得的数据就要和上面三行数据进行对比
aa 13 23 54 2 1 21 [getdate()]
bb 54 56 88 32 23 44 [getdate()]
cc 85 85 65 52 41 10 [getdate()]
----请问,用什么方法能做到上面的那个效果呢?
数据的差异就是写入时间不同 ,我知道得到不同时间段的数据
select * from [table] where datediff(minute,pTime,getdate()) between 5 and 10 order by convert(int,three) desc
这个是得到离现在 5 -- 10分钟的数据。后面就不知道该怎么写啊。。 高手请帮帮忙啊。 谢谢了。我就想每次插入数据的时候那几个字段就自动能算出值
on table_name
instead of insert
as
set nocount on
insert
table_name
select
a.主键
a.name,
a.one,
a.two,
a.three,
a.one-isnull(b.one,0),
a.two-isnull(b.two,0),
a.three-isnull(b.three,0),
getdate()
from
inserted a
left join
table_name b
on a.name=b.name and b.主键=(select max(主键) from table_name where name=b.name)
set nocount off
go