2013-02-15 72 views
-1

我。減去有兩個表觸發從不同的表

Table Number1    Table: Number2 



Position1     Position2 
    2       2 
    3       3 
    4       1 

表3號數字1的結果 - NUMBER2按行。
我如何才能使觸發器做到這一點?
我一直在尋找,但它只是說我不能做那樣的事情。請給我一些解決方案。

+3

爲什麼地球上有這些不同的表格? – 2013-02-15 02:56:17

+0

表格有** no **固有順序。對於「按行」的任何事情來說,我們需要一個列來確定順序。 – 2013-02-15 07:27:53

+0

@Damien_The_Unbeliever,我已經改變它 – user2063311 2013-02-15 07:44:53

回答

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 

這種嘗試分配順序號,順序,以每個表中的行。但是,這不是保證。它可能適用於小桌子。當你只有一個線程正在處理時它可能會工作。但是沒有保證。

+0

我怎麼可以使用它作爲觸發器? – user2063311 2013-02-15 03:05:33

+1

我不會建議,除非你有一個指定順序的列。 – 2013-02-15 03:14:45

+0

我只是混淆瞭如何使用觸發器來減去兩個不同表中的值。 – user2063311 2013-02-15 04:59:27