gpt4 book ai didi

sql - 使用 SELECT 语句更新列

转载 作者:行者123 更新时间:2023-12-02 05:56:43 25 4
gpt4 key购买 nike

我有一个包含以下列的表 FactSales:

Revenue, Quantity, UnitCost

表格是这样的:

UnitCost   | Revenue | Quantity
-----------+---------+----------
NULL | 50.0 | 5
NULL | 70.0 | 3

现在我想将 UnitCost 中的数据更新为等于 Revenue/Quantity,但是在使用以下查询时如何

UPDATE FactSales 
SET UnitCost = (SELECT Revenue / Quantity
FROM FactSales);

我收到以下错误:

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

应该如何编写更新语句才能成功更新值?

最佳答案

不要使用子查询,一个表达式就够了。

UPDATE FactSales 
SET UnitCost = Revenue / Quantity;

如果表有多行,则子查询会检索多行。但是在给定的上下文中,只允许返回不超过一行的子查询。但是在您的查询中根本不需要子查询。

关于sql - 使用 SELECT 语句更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52240526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com