2013-10-02 62 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

相关问题