解决方案 »

  1.   

    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
      

  2.   

    先谢过版主,   这样写我调试没通过...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...
      

  3.   

    自己搞定了.
    原来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
    真郁闷,  居然需要这么写....
    不过还是谢谢版主了,几天都没人理我啊...