2013-10-02 28 views

risposta

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

o

4

se la tabella è alias t

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

Sì, è possibile selezionare i dati, calcolare la differenza, e inserire tutti i valori in altra tabella:

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

Ci sono molti modi per farlo (e ti incoraggio a cercarli perché saranno più efficienti in generale) ma il modo più semplice per farlo è usare un'operazione non impostata per definire il valore della terza colonna:

Nota: questo stile di selezione è considerato una cattiva pratica poiché richiede al piano di query di riselezionare il valore delle prime due colonne per determinare logicamente il terzo (una violazione della teoria degli insiemi su cui è basato SQL). Sebbene sia più complicato, se prevedi di usarlo per valutare più dei valori che hai elencato nel tuo esempio, vorrei investigare usando una clausola APPLY. http://technet.microsoft.com/en-us/library/ms175156(v=sql.105).aspx

Problemi correlati