MAX para un grupo de variables.

05/02/2007 - 14:13 por David Ruiz | Informe spam
Buenas a todos,

Tengo un grupo de variables de tipo int y me gustaria sacar el valor mayor.

set @maxE=MAX(@cvi_cenotradicionalE, @cvi_cetradicionalE,
@cvi_cetradicionalvivE, @cvi_revisionE, @cvi_segsalE, @cvi_controlgenE,
@cvi_direccionobraE, @cvi_redacproyE, @cvi_controlinstE, @cvi_revisionestrE)

Esto no me funciona.

He pensado crear una tabla temporal y cargar los datos para despues poderlo
recuperar el MAX que necesito.

O ir anidando IF ..

Pero ninguna de estas soluciones me gusta.

¿Como lo podria sacar?

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Ana Zuluaga
05/02/2007 - 14:31 | Informe spam
No se si ya en la version 2005 existe una manera pero en la 2000 tenias que
hacer un CASE WHEN anidado.



"David Ruiz" wrote in message
news:
Buenas a todos,

Tengo un grupo de variables de tipo int y me gustaria sacar el valor
mayor.

set @maxE=MAX(@cvi_cenotradicionalE, @cvi_cetradicionalE,
@cvi_cetradicionalvivE, @cvi_revisionE, @cvi_segsalE, @cvi_controlgenE,
@cvi_direccionobraE, @cvi_redacproyE, @cvi_controlinstE,
@cvi_revisionestrE)

Esto no me funciona.

He pensado crear una tabla temporal y cargar los datos para despues
poderlo
recuperar el MAX que necesito.

O ir anidando IF ..

Pero ninguna de estas soluciones me gusta.

¿Como lo podria sacar?

Muchas gracias.
Respuesta Responder a este mensaje
#2 Alejandro Mesa
05/02/2007 - 15:46 | Informe spam
Trata:

select max(c1)
from
(
select @cvi_cenotradicionalE as c1
union all
select @cvi_cetradicionalE
union all
select @cvi_cetradicionalvivE
union all
select @cvi_revisionE
union all
select @cvi_segsalE
union all
select @cvi_controlgenE
union all
select @cvi_direccionobraE
union all
select @cvi_redacproyE
union all
@cvi_controlinstE
union all
select @cvi_revisionestrE
) as t
go


AMB


"David Ruiz" wrote:

Buenas a todos,

Tengo un grupo de variables de tipo int y me gustaria sacar el valor mayor.

set @maxE=MAX(@cvi_cenotradicionalE, @cvi_cetradicionalE,
@cvi_cetradicionalvivE, @cvi_revisionE, @cvi_segsalE, @cvi_controlgenE,
@cvi_direccionobraE, @cvi_redacproyE, @cvi_controlinstE, @cvi_revisionestrE)

Esto no me funciona.

He pensado crear una tabla temporal y cargar los datos para despues poderlo
recuperar el MAX que necesito.

O ir anidando IF ..

Pero ninguna de estas soluciones me gusta.

¿Como lo podria sacar?

Muchas gracias.
Respuesta Responder a este mensaje
#3 Maxi
05/02/2007 - 15:46 | Informe spam
Hola, no hay array en sql server esos datos datos los deberias poner en una
tabla temporal o mejor una variable tipo tabla. Lo que me preocupa es que
quieras sacar el maximo de una variable, para que estas intentando usar
esto?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
http://maxiaccotto.blogspot.com/
"David Ruiz" wrote in message
news:
Buenas a todos,

Tengo un grupo de variables de tipo int y me gustaria sacar el valor
mayor.

set @maxE=MAX(@cvi_cenotradicionalE, @cvi_cetradicionalE,
@cvi_cetradicionalvivE, @cvi_revisionE, @cvi_segsalE, @cvi_controlgenE,
@cvi_direccionobraE, @cvi_redacproyE, @cvi_controlinstE,
@cvi_revisionestrE)

Esto no me funciona.

He pensado crear una tabla temporal y cargar los datos para despues
poderlo
recuperar el MAX que necesito.

O ir anidando IF ..

Pero ninguna de estas soluciones me gusta.

¿Como lo podria sacar?

Muchas gracias.
Respuesta Responder a este mensaje
#4 David Ruiz
05/02/2007 - 15:59 | Informe spam
Necesito sacar el maximo de un grupo de variables para devolver ese valor en
un procedure. Es para evitar cargar esta operacion en Java.

Gracias!

"Maxi" wrote:

Hola, no hay array en sql server esos datos datos los deberias poner en una
tabla temporal o mejor una variable tipo tabla. Lo que me preocupa es que
quieras sacar el maximo de una variable, para que estas intentando usar
esto?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
http://maxiaccotto.blogspot.com/
Respuesta Responder a este mensaje
#5 Gustavo Larriera (MVP)
05/02/2007 - 16:03 | Informe spam
declare @a int; set @a = 22;
declare @b int; set @b = 33;
declare @c int; set @c = 11;

select max(n)
from
(
select @a as n
union
select @b as n
union
select @c as n
) as t

Gustavo Larriera, MVP
Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"David Ruiz" wrote:

Buenas a todos,

Tengo un grupo de variables de tipo int y me gustaria sacar el valor mayor.

set @maxE=MAX(@cvi_cenotradicionalE, @cvi_cetradicionalE,
@cvi_cetradicionalvivE, @cvi_revisionE, @cvi_segsalE, @cvi_controlgenE,
@cvi_direccionobraE, @cvi_redacproyE, @cvi_controlinstE, @cvi_revisionestrE)

Esto no me funciona.

He pensado crear una tabla temporal y cargar los datos para despues poderlo
recuperar el MAX que necesito.

O ir anidando IF ..

Pero ninguna de estas soluciones me gusta.

¿Como lo podria sacar?

Muchas gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida