>백엔드 개발 >PHP 튜토리얼 >问下这个SQL的写法

问下这个SQL的写法

WBOY
WBOY원래의
2016-06-23 14:22:38942검색

本帖最后由 u011669689 于 2013-09-25 18:25:00 编辑

sql select update

基础条件:
user表  userid ,username 
user_money 表  u_id,user_money
user_money_exchange  表:money ,username,ordertag =1或2

现在想执行:

update user_money set user_money =  (user_money_exchange   当ordertag =1的 sum(money) + 当ordertag =2的 sum(money)) where  user_money.u_id = user.userid


update user_money set user_money.money = (select sum(ume.money) as m , u.userid from user_money_exchange ume  left join user u on ume.username = u.username where ume.ordertag = 1 group by ume.username + select sum(ume.money) as m , u.userid from user_money_exchange ume  left join user u on ume.username = u.username where ume.ordertag = 2 group by ume.username) where user_money.u_id = u.userid


这个是错的,想知道对的是?谢谢各位了

回复讨论(解决方案)

先获取相关的数据出来,之后在执行update。印象中不能这么写

试试

update user_money um left join user u on um.u_id=u.useridleft join  (select username,sum(money) as moneys from user_money_exchange group by username) umeon ume.username=u.usernameset um.money = ume.moneys

谢谢,可行,非常感谢

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.