UPDATE iv, bd, bm SET iv.qty = iv.qty - bd.qty from iv inner join (select i_kid,sum(qty) as qty from bd group by i_kid) as bd on bd.i_kid = iv.i_kid inner join bm on bd.bm_kid = bm.keyid
先谢过版主, 这样写我调试没通过...MYSQL 的 "UPDATE FROM" 语法, 跟MSSQL 的语法好像不一样. You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL SERVER VERSION FOR the RIGHT syntax TO USE near 'from iv INNER JOIN (SELECT i_kid, SUM(qty) AS qty...
自己搞定了. 原来MYSQL 跟MSSQL 的UPDATE 写法不一样,MYSQL 得先将数据表组合好之后, 再 SET UPDATE bminner join ( select i_kid, sum(qty) as qty from bd where bd.bm_kid = 1 group by i_kid ) as bd on bm.keyid = bd.bm_kidinner join iv on bd.i_kid= iv.i_kid SET iv.qty = iv.qty - bd.qty 真郁闷, 居然需要这么写.... 不过还是谢谢版主了,几天都没人理我啊...
SET iv.qty = iv.qty - bd.qty
from iv inner join (select i_kid,sum(qty) as qty from bd group by i_kid) as bd
on bd.i_kid = iv.i_kid inner join bm on bd.bm_kid = bm.keyid
that corresponds TO your MySQL SERVER VERSION FOR the RIGHT
syntax TO USE near 'from iv
INNER JOIN
(SELECT i_kid, SUM(qty) AS qty...
原来MYSQL 跟MSSQL 的UPDATE 写法不一样,MYSQL 得先将数据表组合好之后, 再 SET
UPDATE
bminner join
(
select i_kid, sum(qty) as qty from bd
where bd.bm_kid = 1
group by i_kid
) as bd
on bm.keyid = bd.bm_kidinner join
iv
on bd.i_kid= iv.i_kid SET iv.qty = iv.qty - bd.qty
真郁闷, 居然需要这么写....
不过还是谢谢版主了,几天都没人理我啊...