2013-10-02 122 views

回答

15
select previous, Present, previous-Present as Difference from tablename 

4

如果表是別名t

SELECT t.Present , t.previous, t.previous- t.Present AS Difference 
FROM temp1 as t 
6

是的,你可以選擇數據,計算出的差異,以及在其他表中插入的所有值:

insert into #temp2 (Difference) 
select previous - Present 
from #TEMP1 
2

有很多方法可以做到這一點(我鼓勵您查看它們,因爲它們通常會更高效),但最簡單的方法是使用非設置操作來定義第三列的值:

SELECT 
    t1.previous 
    ,t1.present 
    ,(t1.present - t1.previous) as difference 
FROM #TEMP1 t1 

請注意,這種選擇風格被認爲是不好的做法,因爲它要求查詢計劃重新選擇前兩列的值,從邏輯上確定第三個值(違反了SQL基於的集合論)。雖然它比較複雜,但如果你打算使用這個來評估你的例子中列出的值,我會用APPLY子句進行調查。 http://technet.microsoft.com/en-us/library/ms175156(v=sql.105).aspx

相關問題