1

我在一张表中有两列,如下所示:

CREATE TABLE Invoices
(
  ID_Invoice...
  ....
  UnitPrice decimal (15,2) NOT NULL,
  Discount (15,2) NOT NULL,
)

所以我想在这个表中添加一个新列来计算最终价格 - UnitPrice- Discount=TotalCost?请帮忙。

4

2 回答 2

1

如果您使用的是 SQL Server,请尝试计算列:

CREATE TABLE Invoices
(
  ID_Invoice...
  ....
  UnitPrice decimal (15,2) NOT NULL,
  Discount (15,2) NOT NULL,
  TotalCost AS UnitPrice - Discount
)

如果您使用 MySQL,您唯一的选择是添加物理列。不要那样做 - 它使表格非规范化并且不会带来任何好处。只需即时查询值:

SELECT
  ID_Invoice,
  UnitPrice,
  Discount,
  UnitPrice - Discount AS TotalCost

MySQL 查询很简单,通过不存储额外的列,您不必担心TotalCostDiscountUnitPrice列不同步。

于 2013-09-03T13:05:54.610 回答
0
Alter Table Invoices 
Add TotalCost Decimal(15,2)

将列添加到您的表中

现在向新列添加值

Update Invoices
set TotalCost = UnitPrice - Discount

请让我知道它是否有效

于 2013-09-03T12:59:52.213 回答