如何从两个表中减去两列值并插入第三个表



我使用的是SQlite

表A :一列用于存储相减值(差(表B:具有unix时间戳(OFF_time(的一列表C:一列带有unix时间戳(ON_time(

必须分别从表B和表C中减去OFF_time和ON_time列的时间戳,并存储在A中。

这就是我尝试的:

insert into A (difference) select B.OFF_time-C.ON_time from B,C;

[编辑]

并且没有得到错误,但是表A是空的并且没有用差异进行更新。

示例数据:

表C:ON_time

表B:关闭时间

所需输出:表A:

差异(表A中的列名(

622

1024

608

398

458

您可以使用ROW_NUMBER((窗口函数来连接B:和C:

insert into A (difference) 
select t1.OFF_time - t2.ON_time 
from (select *, row_number() over (order by OFF_time) rn from B) t1
inner join (select *, row_number() over (order by ON_time) rn from C) t2
on t2.rn = t1.rn;

最新更新