![](/img/trans.png)
[英]Retrieve (Shredding) Multiple Values in SQL Server into same cell (row/ column intersection) in table from XML data column
[英]Retrieve values in same row of SQL table
我有一個用於計算價格的表,該表查找一個表以獲取每個零件的價格,然后將其乘以訂購的零件數。
但是,訂購的零件數量在同一張表中,並且在添加值時,我似乎找不到在表中同一行中訪問值的方法。
這是不可能的,還是有更好的方法來做到這一點?
這是該表:
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值乘以部件表中引用的每個部件的價格。 但是,我不能堅持使用硬值,因為訂購的數量以后可能會更改,這意味着totalPrice將更改。
目前,我的插入語句僅是:
INSERT INTO PartOrder VALUES (001, 001, 001, 4, 'R', NOW(), (4*(SELECT PricePerPart FROM Part WHERE PartID = 001)));
您可能還想看看SELECT INTO以及http://www.postgresql.org/docs/8.1/static/sql-selectinto.html
或者你可以一起去
INSERT INTO PartOrder
SELECT (1,1,1,4,'R',NOW, (4*Part.PricePerPart))
FROM Part
WHERE Part.PartId = 1;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.