采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我需要求救。。这个我怎样都没想法[我用的是mysql] 我这边写的是电商数据库, 有着sku。然后在order_detail里面就有具体记录着用户所卖的sku数量[quantity]。我想要通过group productId,将quantity全部加起来再update product默认的totalSell[sell]。但是却一直得到这个错误 明明我通过select可以得取,但是一到update时怎样都无解了
update语句是不支持group by子句的
那么如果这种情况的话我应该怎样实现呢
如果我想通过1个sql去实现这个逻辑的话可行吗
你这个语句,SET时不要使用sum(quantity)而是直接用 set p.sell = p.sell+od.qunantity 就可以了
UPDATE `product` AS `p` JOIN ( SELECT productId,SUM(quantity) as quantity,ANY_VALUE(orderId) as orderId FROM `order_detail` WHERE orderId = 2 GROUP BY productId ) `od` ON `p`.`id`=`od`.`productId` SET `p`.`sell` = p.sell+od.quantity;
上面这个是我的答案。看样子是因为本来quantity是SUM然后我又重犯导致的
登录后可查看更多问答,登录/注册
掌握SQL优化与慢查询优化,具备独当一面的能力
906 21
1.4k 15
1.1k 14
1.3k 13
1.1k 11