【问题标题】:SQL Update; Populate 1 column based on two columns (total)SQL 更新;根据两列(总计)填充 1 列
【发布时间】:2011-10-12 01:58:22
【问题描述】:

我需要一些关于一条 SQL 语句的帮助,以根据两列(价格、数量)更新一列(总计)。我想更新整个表。这只是用于数据分析,而不是长期解决方案(我会改用触发器)。

当前表格数据

ID ! Price ! Quantity ! Total

1  ! 2.00  ! 2        ! NULL

2  ! 3.00  ! 1        ! NULL

3  ! 5.00  ! 2        ! NULL

更新的表格数据

Table
ID ! Price ! Quantity ! Total

1  ! 2.00  ! 2        ! 4.00

2  ! 3.00  ! 1        ! 3.00

3  ! 5.00  ! 2        ! 10.00

我蹩脚的 SQL 显然行不通

UPDATE Inventory
SET Total = (Price * Quantity)

这不起作用,因为我需要更新整个表格。我想我需要一个子查询??

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 为什么您的update 声明“显然[不] 有效”?输出是什么?
  • 执行查询时会发生什么?

标签: sql sum sql-update


【解决方案1】:

我觉得你发布的内容很好。

UPDATE inventory SET total = (price * quantity)

将逐行更新整个表格。

【讨论】:

  • 再次运行我的查询后,一切正常。问题是我在 MS SQL Server SSIS 中导入数据时使用了这个查询。我想在将数据从 Excel 导入 MS SQL Server 时填充“总计”列。在 SSIS 中使用相同的查询时,我得到一个 NULL。
猜你喜欢
  • 1970-01-01
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
相关资源
最近更新 更多