update 结算表 as B set B.全年支出=(select sum(A.支出金额) AS A.支出金额 from 支出表 as A group by A.医保卡号) where A.医保卡号=B.医保卡号刚学的,仅供参考,建议楼主到ms sqlserver版问。
这两个问复还是有报错.郁闷! 我用的是ACCESS
cn.Execute "update 结算表 set 全年支出=(select 医保卡号,sum(支出金额) from 支出表 group by 医保卡号) where 医保卡号=支出表.医保卡号"
update 结算表 set 结算表.全年支出=A.支出金额 FROM 结算表, (select sum(支出金额) AS 支出金额 from 支出表 group by 医保卡号) as A where A.医保卡号=结算表.医保卡号
Update的Set後面不能跟Sum,Count或者是Select等語句 只能是一個值
Update的Set後面不能跟Sum,Count或者是Select等語句 只能是一個值
sum(支出金额) AS 支出金额 from 支出表 group by 医保卡号 先生成个表,然后再update,不用这个表再删除
shinesnow() ( ) 信誉:100 Blog 2007-02-28 16:43:47 得分: 0
sum(支出金额) AS 支出金额 from 支出表 group by 医保卡号 先生成个表,然后再update,不用这个表再删除
-------- 不用那麼複雜。方法一:update 结算表 set 全年支出=(select sum(支出金额) from 支出表 where 医保卡号=结算表.医保卡号)方法二: update a set 全年支出=b.支出金额 from 结算表 a, (select 医保卡号,sum(支出金额) as 支出金额 from 支出表 group by 医保卡号) b where a.医保卡号=b.医保卡号
group by用法错误,如果有多个不同的医保卡的话,group by返回不至一条的记录 ,就会出错,
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
我用的是ACCESS
先生成个表,然后再update,不用这个表再删除
sum(支出金额) AS 支出金额 from 支出表 group by 医保卡号
先生成个表,然后再update,不用这个表再删除
--------
不用那麼複雜。方法一:update 结算表
set 全年支出=(select sum(支出金额) from 支出表 where 医保卡号=结算表.医保卡号)方法二:
update a
set 全年支出=b.支出金额
from
结算表 a,
(select 医保卡号,sum(支出金额) as 支出金额 from 支出表 group by 医保卡号) b
where a.医保卡号=b.医保卡号