campos calculados en sql server
Publicado por Marco (1 intervención) el 08/01/2009 20:08:06
Hola
tengo un sistema que tiene la BD en SYBASE ASA el cual lo estamos migrando a SQL SERVER 2008 y tengo el problema de que tengo querys que usan en la clausula where referencias a campos compute o campos calculados que estan en el select, por ejemplo:
select
campo1,
sum(campo2) as suma
from
tabla
where
suma = 0 ;
este query funciona perfectamente en sybase pero al momento de correrlo sobre sql server no admite la referencia en este caso al alias "suma"
si lo pongo de la sigueinte forma en sql server si funciona
select
campo1,
sum(campo2) as suma
from
tabla
where
sum(campo2) = 0 ;
mas sin embargo esto me parece algo ineficiente ya que el calculo de "sum(campo2)" se tiene que hacer dos veces, cuento con querys que tienen campos bastante complejos y me gustaria saber si existe una forma de que esto funcione para sql server.
bueno espero haberme explicado bien y gracias por su ayuda
saludos
MAGT
tengo un sistema que tiene la BD en SYBASE ASA el cual lo estamos migrando a SQL SERVER 2008 y tengo el problema de que tengo querys que usan en la clausula where referencias a campos compute o campos calculados que estan en el select, por ejemplo:
select
campo1,
sum(campo2) as suma
from
tabla
where
suma = 0 ;
este query funciona perfectamente en sybase pero al momento de correrlo sobre sql server no admite la referencia en este caso al alias "suma"
si lo pongo de la sigueinte forma en sql server si funciona
select
campo1,
sum(campo2) as suma
from
tabla
where
sum(campo2) = 0 ;
mas sin embargo esto me parece algo ineficiente ya que el calculo de "sum(campo2)" se tiene que hacer dos veces, cuento con querys que tienen campos bastante complejos y me gustaria saber si existe una forma de que esto funcione para sql server.
bueno espero haberme explicado bien y gracias por su ayuda
saludos
MAGT
Valora esta pregunta


0