1
我想知道如何通過組合兩個外鍵來更新列。基於兩個外鍵在SQL中更新列
我有一個表,FoodPackage,它看起來像這樣:
create table FoodPackage(
PackageNumber int primary key auto_increment,
name varchar(45),
price int);
另一個表,產品,它看起來像這樣:
create table Product(
ProductID int primary key auto_increment,
Category varchar(45),
ProductName varchar(45),
Price int,
Allergy varchar(45));
最後,訂單,這看起來是這樣的:
create table Orders(
Ordernumber int primary key auto_increment,
PackageNumber int not null,
ProductID int not null,
UserID int not null,
Frequency int,
TotalPrice int,
OrderStatus varchar(45),
FOREIGN KEY(PackageNumber)
REFERENCES FoodPackage(PackageNumber),
FOREIGN KEY(ProductID)
REFERENCES Product(ProductID),
FOREIGN KEY(UserID)
REFERENCES Users(UserID));
我想要做的是根據FoodPack的值更新totalprice列age.price和Product.Price合併。我曾嘗試使用這樣的更新語句:
UPDATE Orders, FoodPackage, Product SET Orders.TotalPrice= FoodPackage.Price + Product.Price;
但是,這隻會給我一個常數值。
真的很感謝任何幫助!
您每個訂單隻能訂購一個產品和一個包裝? – Barmar
@Barmar是的,現在是一個問題。你知道我怎麼可以添加這樣的可能性,允許用戶在訂單時註冊多個產品和包? –
您應該使用將訂單與產品關聯的多對多聯結表格,以及將訂單與包裹關聯的另一個表格。 – Barmar