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

解决方案 »

  1.   

    多谢。不过好像还有点问题。
    我把一部分数据贴出来给你看:
    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
      

  2.   

    我弄出来了select d.StationName,r.PhoneNum,r.ChildID,r.ChannelID,MAX(r.ColTime) ColTime,max(r.InstPres) InstPres,
    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(烟草)的提示,
    还有其他的朋友可以交差了