我有一个用于计算价格的表格,该表格查找表格以获取每个零件的价格,然后将其乘以订购的零件数量。
但是,订购的零件数量在同一个表中,并且在添加值时,我似乎无法找到访问表中同一行中的值的方法。
这是不可能的,还是有更好的方法来做到这一点?
这是与此有关的表格:
CREATE TABLE PartOrder
(
OrderID INTEGER NOT NULL,
CustomerID INTEGER NOT NULL,
PartID INTEGER NOT NULL,
NumParts INTEGER NOT NULL,
Status CHAR(1) NOT NULL
CHECK (Status IN ('R', 'H',
'E', 'C')
OrderTime TIMESTAMP NOT NULL,
TotalCost DECIMAL,
CONSTRAINT partOrder_pk PRIMARY KEY (OrderID),
CONSTRAINT partOrder_fk1 FOREIGN KEY (CustomerID) REFERENCES Customer ON DELETE CASCADE,
CONSTRAINT partOrder_fk2 FOREIGN KEY (FlightID) REFERENCES Part ON DELETE CASCADE
);
我想要它,以便它将 numParts 值乘以零件表中引用的每个零件的价格。但是,我不能坚持硬值,因为订购的数字可能会在以后发生变化,这意味着总价格会发生变化。
目前我的插入语句只是:
INSERT INTO PartOrder VALUES (001, 001, 001, 4, 'R', NOW(), (4*(SELECT PricePerPart FROM Part WHERE PartID = 001)));