valores valor tabla por funciones ejemplos defecto datos consultas con complejas columna campo alterar agregar sql-server tsql sql-server-2008-r2 addition temp-tables

sql-server - por - funciones con valores de tabla sql server



¿Cómo encontrar la diferencia entre los datos de dos columnas? (4)

Hay muchas maneras de hacerlo (y lo animo a buscarlas, ya que serán más eficientes en general), pero la forma más simple de hacerlo es usar una operación no establecida para definir el valor de la tercera columna:

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

Tenga en cuenta que este estilo de selección se considera una mala práctica porque requiere que el plan de consulta vuelva a seleccionar el valor de las dos primeras columnas para determinar lógicamente el tercero (una violación de la teoría de conjuntos en que se basa SQL). Aunque es más complicado, si planea usar esto para evaluar más de los valores que enumeró en su ejemplo, investigaría usando una cláusula APPLY. http://technet.microsoft.com/en-us/library/ms175156(v=sql.105).aspx

Tengo una tabla temporal con dos columnas de datos enteros. Quiero encontrar la diferencia entre dos columnas en la tercera columna.

#TEMP1 Present previous 59 88 75 75 45 45 77 88 09 08 #temp2 Difference 29 0 0 11 -1

Es posible ??


Sí, puede seleccionar los datos, calcular la diferencia e insertar todos los valores en la otra tabla:

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


SI la tabla es alias t

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


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

o

select previous, Present, previous-Present as Difference from #TEMP1