update umc_user_point b set b.total_point= c.totalmoney
from
(select sum(a.totalmoney) as totalmoney,a.userid_to as user_id 
from umc_orders a group by a.userid_to) as c
where b.user_id=c.user_id我不知道是语法错误还是mysql不支持这种写法,隐约记得sqlserver2005可以这样的如果是语法错误,应该怎么改?select sum(a.totalmoney) as totalmoney,a.userid_to as user_id 
from umc_orders a group by a.userid_to
我希望通过这个子查询的结果集去更新另一张表

解决方案 »

  1.   

    update umc_user_point b 
    INNER JOIN
    (select sum(a.totalmoney) as totalmoney,a.userid_to as user_id 
    from umc_orders a group by a.userid_to) as c 
    set b.total_point= c.totalmoney 
    where b.user_id=c.user_id
      

  2.   

    update umc_user_point b inner join
    (select sum(a.totalmoney) as totalmoney,a.userid_to as user_id
    from umc_orders a group by a.userid_to) as c
    on b.user_id=c.user_id
    set b.total_point= c.totalmoney
     
      

  3.   

    update umc_user_point b 
    INNER JOIN 
    (select sum(a.totalmoney) as totalmoney,a.userid_to as user_id 
    FROM umc_orders a group by a.userid_to) as c 
    ON b.user_id=c.user_id
    set b.total_point= c.totalmoney ORupdate umc_user_point b ,
    (select sum(a.totalmoney) as totalmoney,a.userid_to as user_id 
    from umc_orders a group by a.userid_to) as c 
    set b.total_point= c.totalmoney
    WHERE b.user_id=c.user_id 
      

  4.   


    update umc_user_point b inner join 
    (select sum(a.totalmoney) as totalmoney,a.userid_to as user_id 
    from umc_orders a group by a.userid_to) c using (user_id)
    set b.total_point= c.totalmoney
      

  5.   

    mysql 两表更新
    update a ,b set a.colum=b.colum where a.id = b.id