有三个表
TagToDB 【id tagname】
Flow 【source target tagname】
TagValue【id clock val】
一个target与一个source之间建立一个Flow,对应地产生一个id和tagname;但一个target对应多个source。
每个整点记录一次val,求一个月内某个target在某个整点的val值之和。
TagToDB 【id tagname】
Flow 【source target tagname】
TagValue【id clock val】
一个target与一个source之间建立一个Flow,对应地产生一个id和tagname;但一个target对应多个source。
每个整点记录一次val,求一个月内某个target在某个整点的val值之和。
select
A.tagname,sum(C.val)
from
TagToDB A,Flow B,TagValue C
where
A.tagname=B.tagname and A.id=C.id
and
A.tagname=@tagname
and
datediff(mm,clock,@date)=0
and
datepart(hh,clock)=@hour
select sum(val) from TagToDB a inner join Flow b on a.tagname=b.tagname inner join TagValue c on a.id=c.id where target='汽油个target' and convert(varchar(7),clock,112)='某个月' and right('0'+ltrim(datepart(hh,clock)),2)='某个时间点'
想迷糊了。我是新手。^_^