level 1
update 入库表 set 金额=(select sum(数量*单价) from 入库子表 where 入库ID=2) where 入库ID=2
出错:操作必须使用一个可更新的查询
想把子表的金额合计更新主表的值。mysql是可以这样写的。
看来只能写两句了:
update 入库表 set 金额=0 where 入库ID=2
update 入库表 inner join 入库子表 on 入库表.入库ID=入库子表.入库ID set 金额=金额+数量*单价 where 入库表.入库ID=2
2017年06月14日 08点06分
1
level 1
update 入库表 as a inner join (select 入库ID, sum(数量*单价) as tp from 入库子表 group by 入库ID) as b on a.入库ID=b.入库ID set 金额=tp where a.入库ID=2
也不行,作罢。
2017年06月15日 01点06分
2
楼主有解决的办法嘛
2017年09月09日 03点09分
回复 😱快看我名字 :在1楼
2017年09月11日 00点09分
level 1
我也遇这问题了,多表操作批量改数据一直不成功。
操作必须使用一个可更新的查询
UPDATE 教师名单 AS a, (SELECT jsxm, rs FROM 教师被选中次数) AS b SET a.xsrs = b.rs
WHERE a.jsxm=b.jsxm;
2020年09月17日 04点09分
3
这是什么写法,怎么不inner join
2020年09月19日 00点09分