一个sql 的 update 问题
cn.Execute "update 结算表 set 全年支出=(select sum(支出金额) from 支出表 group by 医保卡号) where 医保卡号=支出表.医保卡号 "
各位高手看看这个有不有问题.VB总是报错 "至少一个参数没有被指定值 "
[解决办法]
update 结算表 set 全年支出=A.支出金额 FROM (select sum(支出金额) AS 支出金额 from 支出表 group by 医保卡号) A where A.医保卡号=结算表.医保卡号
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
最新版本:20070212
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
[解决办法]
update 结算表 as B set B.全年支出=(select sum(A.支出金额) AS A.支出金额 from 支出表 as A group by A.医保卡号) where A.医保卡号=B.医保卡号
刚学的,仅供参考,建议楼主到ms sqlserver版问。
[解决办法]
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返回不至一条的记录 ,就会出错,
[解决办法]
楼上说的对,不能用group by