-1

我有两张桌子

Table Number1              Table:  Number2 



Position1                    Position2
   2                           2
   3                           3
   4                           1

表 Number3将是Number1 - Number2的结果。
我怎么能触发这样做呢?
我一直在寻找,但它只是说我不能做那样的事情。请给我一些解决方案。

4

1 回答 1

1

你不能这样做,因为你不能轻易找到“最后”行。您需要一个 ID 或创建日期或版本。

将接近您想要的 SQL 查询是:

select n1.number - n2.number
from (select n1.*, row_number() over (order by (select null)) as seqnum
      from number1 n1 
     ) n1 join
     (select n2.*, row_number() over (order by (select null)) as seqnum
      from number2 n2
     ) n2
     on n1.number = n2.number

这会尝试为每个表中的行按顺序分配一个序号。但是,这并不能保证。它可能适用于小桌子。当您只有一个线程进行处理时,它可能会起作用。但没有任何保证。

于 2013-02-15T02:57:54.583 回答