select a.*,b.*,sum(AddupFlow+YAddupFlow) from deviceinfo a left outer join rtdate b on a.phonenum=b.phonenum and a.channelid=b.channelid and a.childid=b.childid
where datepart(month,b.coltime)=monthNum and datepart(year,b.coltime)=yearNum
where datepart(month,b.coltime)=monthNum and datepart(year,b.coltime)=yearNum
我把一部分数据贴出来给你看:
DeviceInfo:PhoneNum,ChannelID,MeterID,ChildID,StationState,ComName,Mode,StationName
001 01 01 00 1 COM1 0 Lab
001 01 02 00 1 COM1 0 LAB
001 01 03 00 1 COM1 0 LAB
001 02 01 00 1 COM1 0 LAB
001 02 02 00 1 COM1 0 LAB
001 02 03 00 1 COM1 0 LAB
001 03 01 00 1 COM1 0 LAB
001 03 02 00 1 COM1 0 LAB
001 03 03 00 1 COM1 0 LAB
001 04 01 00 1 COM1 0 LAB
001 04 02 00 1 COM1 0 LAB
001 04 03 00 1 COM1 0 LABRTDataTbl:PhoneNum ,ChannelID ,ChildID,ColTime(采集时间) ,InstPres,InstTemp,InstFlow ,AddupFlow,AddupTemp,YAddupFlow,YAddupTemp 后面的数据没有列出,InstPres,InstTemp,InstFlow 对每一采集时间是不一样的,而AddupFlow,AddupTemp,YAddupFlow,YAddupTemp 对同一天是一样的PhoneNum ChannelID ChildID ColTime
001 01 00 2002-12-16 10:29:35.000
001 01 00 2002-12-16 10:29:46.000
001 01 00 2002-12-16 10:29:54.000
001 01 00 2002-12-16 10:30:04.000
001 01 00 2002-12-16 10:36:30.000
001 01 00 2002-12-16 10:36:38.000
001 02 00 2002-12-16 10:29:35.000
001 02 00 2002-12-16 10:29:46.000
001 02 00 2002-12-16 10:29:54.000
001 02 00 2002-12-16 10:30:05.000
001 02 00 2002-12-16 10:36:30.000
001 02 00 2002-12-16 10:36:38.000
001 03 00 2002-12-16 10:29:35.000
001 03 00 2002-12-16 10:29:46.000
001 03 00 2002-12-16 10:29:54.000
001 03 00 2002-12-16 10:30:05.000
001 03 00 2002-12-16 10:36:30.000
001 03 00 2002-12-16 10:36:38.000
001 04 00 2002-12-16 10:29:35.000
001 04 00 2002-12-16 10:29:46.000
001 04 00 2002-12-16 10:29:54.000
001 04 00 2002-12-16 10:30:05.000
001 04 00 2002-12-16 10:36:30.000
001 04 00 2002-12-16 10:36:38.000
max(r.InstFlow) InstFlow,max(r.InstTemp) InstTemp,
max(r.adduptemp) TaddupTemp,max(r.addupflow) TaddupFlow,
max(r.addupTemp)+Sum(r.YaddupTemp) MaddupTemp,max(r.addupFlow)+Sum(r.YaddupFlow) MaddupFlow
from DeviceInfoTbl d,rtdatatbl r
where datepart(month,r.coltime)=datepart(month,getdate()) and datepart(year,r.coltime)=datepart(year,getdate())
AND d.PhoneNum=r.PhoneNum and d.ChildID=r.ChildID and d.ChannelID=r.ChannelID and d.mode=1
group by d.StationName,r.PhoneNum,r.ChildID,r.ChannelID谢谢CrazyFor(烟草)的提示,
还有其他的朋友可以交差了