我的SQL Server中有3个表:Flat,Worker,Deal(其他表在这里不起作用)。 交易 表的 金额 列值应基于给定的 单位 < / strong>的 价格 列值和 工人 的 份额 列值。
我要执行INSERT
操作,例如:
insert into KursIsi.dbo.Deal
values(amount,GETDATE(), 1, null, 2);
其中1是 Flat 表的外键值,2是 Worker 的外键值,我希望将 amount 值设置为{ {1}}
我不知道该怎么做,但是我猜想它可能与触发器有关。
已编辑:我添加了一些数据示例,以说明其外观。
这是Worker表数据示例。请注意,该工人的份额为50000
这是“交易”表中的最终结果。请注意,金额为200000,其计算方式为Flat(price) where ID = 1 + Worker(share) where ID = 2;
,其中在Deal表中给出的外键为flat和worker列的值。现在这一切都由我完成,我基本上插入了200000的值,但是我想要的是根据给定的单位和工人自动设置Deal table的金额
答案 0 :(得分:1)
您可以简单地通过将两个表连接起来作为INSERT语句的输入来投影计算。
INSERT INTO Deal
SELECT
F.Price + W.Share, GETDATE(), F.ID, NULL, W.worker_number
FROM
Flat F
INNER JOIN Worker W ON W.ID = F.ID