问下这个SQL的写法
程序员文章站
2024-02-17 21:45:28
...
本帖最后由 u011669689 于 2013-09-25 18:25:00 编辑
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
这个是错的,想知道对的是?谢谢各位了
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
谢谢,可行,非常感谢
推荐阅读
-
问下这个SQL的写法
-
一条SQL语句怎么求环比!这个月简历数减去上个月的(如图)
-
mysql中获取一天、一周、一月时间数据的各种sql语句写法_MySQL
-
sql server创建临时表的两种写法和删除临时表
-
SQL查询一张表的总记录数还有比这个更快的吗?该怎么解决
-
php遍历数组$arr,请问下面这个$arr数组的结构是什么样的,怎么输出遍历输出结果: 1 2 3
-
MySQL与SQL的触发器的不同写法_MySQL
-
对比MySQL与SQL SERVER2005的触发器写法_MySQL
-
大家使用过mysql 严格模式没有?帮忙看一下这个简单的SQL语句出了什么问题?
-
mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法