【发布时间】:2019-05-29 13:06:36
【问题描述】:
如何将列值设置为“1”,其中 sum(price) >= 88
例如:如果客户 A 的 sum(price) 大于或等于 88,则交货将更新为“Y”
客户表:名称、价格、交货(我只列出了重要的列)
我的 SQL 查询:
UPDATE customer
SET delivery ='Y'
WHERE (SELECT SUM(price) FROM customer
GROUP BY name )>=88;
错误:您不能在 FROM 子句中指定目标表“客户”进行更新
见附表:
【问题讨论】:
-
大多数数据库不允许你
UPDATE从你正在更新的同一个表中选择数据。 -
请添加示例数据和预期结果。几行将有助于我们了解您的问题。
-
(SELECT SUM(price) FROM customer GROUP BY name )很可能会返回超过 1 行,那么您要应用什么条件? -
添加了一张我桌子的照片。不知道如何构造它以使其在 stackoverflow 中看起来更好,所以我拍了一张快照。原谅我。
标签: sql database sql-update