UPDATE Archive_MeterInfo am
SET am.IC_CardCount=tt.coutNum FROM  (
select b.meterid,b.coutNum,a.IC_cardcount-b.coutNum as aa from 
(select IC_cardcount,meterid from dbo.Archive_MeterInfo) a,
(select count(*) as coutNum,meterid from charge_ic where codeid_icbuytype=4  group by meterid )b
where a.meterid=b.meterid and a.IC_cardcount<>b.coutNum
)tt
where tt.meterid=am.MeterID

解决方案 »

  1.   

    UPDATE Archive_MeterInfo 
    SET am.IC_CardCount=tt.coutNum FROM  (
    select b.meterid,b.coutNum,a.IC_cardcount-b.coutNum as aa from 
    (select IC_cardcount,meterid from dbo.Archive_MeterInfo) a,
    (select count(*) as coutNum,meterid from charge_ic where codeid_icbuytype=4  group by meterid )b
    where a.meterid=b.meterid and a.IC_cardcount<>b.coutNum
    )tt,
    Archive_MeterInfo AS am
    where tt.meterid=am.MeterID
      

  2.   


    UPDATE Archive_MeterInfo
    SET IC_CardCount=tt.coutNum FROM  
    (select b.meterid,b.coutNum,a.IC_cardcount-b.coutNum as aa from 
    (select IC_cardcount,meterid from dbo.Archive_MeterInfo) a,
    (select count(*) as coutNum,meterid from charge_ic where codeid_icbuytype=4  group by meterid )b
    where a.meterid=b.meterid and a.IC_cardcount<>b.coutNum
    )tt
    where tt.meterid=Archive_MeterInfo.MeterID 
      

  3.   

    楼上的有错误,不认识am.IC_CardCount