Como encontrar a diferença entre dois dados de colunas?
Tenho uma tabela temp com duas colunas de dados inteiros que quero encontrar a diferença entre duas colunas na terceira coluna.
#TEMP1
Present previous
59 88
75 75
45 45
77 88
09 08
#temp2
Difference
29
0
0
11
-1
Isto é possível ??
4 answers
select previous, Present, previous-Present as Difference from tablename
Ou
select previous, Present, previous-Present as Difference from #TEMP1
Se o quadro é também conhecido por t
SELECT t.Present , t.previous, t.previous- t.Present AS Difference
FROM temp1 as t
Existem muitas maneiras de fazer isso (e eu encorajo você a olha-los como eles podem ser mais eficientes em geral), mas a maneira mais simples de fazer isso é usar um não-definir a operação para definir o valor da terceira coluna:
SELECT
t1.previous
,t1.present
,(t1.present - t1.previous) as difference
FROM #TEMP1 t1
Note, this style of selection is considered bad practice because it requires the query plan to reselect the value of the first two columns to logically determine the third (a violation of set theory that SQL is based on). Embora seja mais complicado, se você planeja usar isso para avaliar mais do que os valores que você listou em seu exemplo, eu investigaria usando uma cláusula de Aplicação. http://technet.microsoft.com/en-us/library/ms175156 (V=sql.105).aspx