如何解决如何计算并插入值到表中,但计算取决于来自不同表的数据?
示例:我有三桌车,付款,出租
CREATE TABLE car(
car_id INTEGER NOT NULL PRIMARY KEY,price_per_day REAL NOT NULL,);
CREATE TABLE payment(
payment_id INTEGER NOT NULL PRIMARY KEY,rental_id INTEGER NOT NULL,payment_amount REAL NOT NULL,);
CREATE TABLE rental(
rental_id INTEGER NOT NULL PRIMARY KEY,rental_time VARCHAR(15) NOT NULL,--timestamp values
car_id INTEGER NOT NULL,);
我想计算payment_amount,但必须从不同的表中准确获取该数据,必须从租金中获取rental_time(天) 表并乘以 price_per_day 来自另一个表(car),但必须准确地取那个价格(大约是 car_id)和插入 payment 表中的 payment_amount 列。
我试过了
UPDATE payment
SET p.payment_amount = (SELECT r.rental_time WHERE r.car_id=1)*(SELECT c.price_per_day WHERE c.car_id=1)
FROM payment p,rental r,car c;
错误:运算符不存在:字符变化 * 实数
第 2 行:...((SELECT r.rental_time WHERE r.car_id=1)*(SELECT c...
如果要根据car_id和不同的价格(price_per_day)而变化,为什么列数据相同?