读书人

一条批量更新话语

发布时间: 2013-01-11 11:57:35 作者: rapoo

一条批量更新语句
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

读书人网 >SQL Server

热点推荐