如何用从同一个表计算的值填充新列?
Posted
技术标签:
【中文标题】如何用从同一个表计算的值填充新列?【英文标题】:How to fill in new column with values calculated from the same table? 【发布时间】:2017-06-26 01:18:05 【问题描述】:我有一个表,我希望通过添加一个新列(总价)来改变它。然后我想用从另外两个列(数量和单位成本)计算的值填充这个新列(总价格)。下面是我的 SQL,它在我的表中创建了一个新列,但我不知道如何填充新列(总价格)。我试过 SET 和 AS 但没有运气。抱歉,我是 SQL 新手,感谢您的帮助!!!
我正在更改的表格是“采购订单详细信息”,我需要的所有数据都在此表格中,以通过将数量和单位成本相乘来填充新列(总价格)。
ALTER TABLE [purchase order details]
ADD COLUMN [total price] currency
SET [purchase order details].[total price] = [purchase order
details].quantity * [purchase order details].[unit cost]
FROM [purchase order details]
;
【问题讨论】:
【参考方案1】:
SQLI
ALTER TABLE purchase_order_details
ADD COLUMN total_price;
UPDATE
SET purchase_order_details = quantity*unit_cost;
【讨论】:
【参考方案2】:您需要先使用 ALTER TABLE 命令添加新列,然后使用 UPDATE 命令填充它。这两个命令是分开的,不能组合。
ALTER TABLE [purchase order details]
ADD COLUMN [total price] currency;
UPDATE [purchase order details]
SET [purchase order details].[total price] =
[purchase order details].quantity * [purchase order details].[unit cost];
【讨论】:
嗨,Racil,我这样做了,但仍然出现错误“ALTER TABLE 语句中的语法错误。对我来说没有意义,因为新列已添加到表中。 你有没有按照我说的分别运行这两个命令?无论如何,如果该列添加成功,那么我们可能不需要担心这一点。现在就单独运行UPDATE
命令。
抱歉,我不知道您将这两个命令分开是什么意思。我以为;分隔两个命令。我将命令放入两个查询中,它起作用了。非常感谢!!!【参考方案3】:
ALTER TABLE [purchase order details]
ADD COLUMN [total price] currency;
EXEC('
SET [purchase order details].[total price] = [purchase order
details].quantity * [purchase order details].[unit cost]
FROM [purchase order details]');
【讨论】:
请解释你的代码是做什么的以及它是怎么做的。以上是关于如何用从同一个表计算的值填充新列?的主要内容,如果未能解决你的问题,请参考以下文章
如果我有重复的日期,如何用 pandas 中两个日期之间计算的值填充一列?