一条批量更新话语

一条批量更新语句UPDATE Archive_MeterInfo amSET am.IC_CardCounttt.coutNum FROM(select b.meterid,b.c

一条批量更新语句
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
[解决办法]

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

[解决办法]

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