如何用从同一个表计算的值填充新列?

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 中两个日期之间计算的值填充一列?

如何用另一个蒙版数组的值填充蒙版2D数组?

Pentaho/PDI/Kettle:如何用 Excel 电子表格中的值填充“插入/更新”?

如何用sql实现自动填充日期

如何用其他数据框的值填充缺失值