¿puedo hacer? select max(select max1, select max2)

15/12/2004 - 12:54 por -=JOE MAN=- | Informe spam
Me explico.

Dentro de la misma tabla tengo tres campos numericos (c1,c2,c3) y
necesito encontrar el máximo valor de entre los máximos valores de los
tres campos. O sea , esto:

SELECT MAX(select max(c1)from tabla,select max(c2)from tabla,select
max(c3)from tabla) FROM TABLA)

Y si no es esto posible ¿existe una aproximación al problema? Ahora lo
tengo en un procedimiento almacenado con varios IF, pero no me gusta
nada. Es muy poco elegante.


gracias mil
 

Leer las respuestas

#1 Tako
15/12/2004 - 13:24 | Informe spam
-=JOE MAN=- wrote:
Me explico.

Dentro de la misma tabla tengo tres campos numericos (c1,c2,c3) y
necesito encontrar el máximo valor de entre los máximos valores de los
tres campos. O sea , esto:

SELECT MAX(select max(c1)from tabla,select max(c2)from tabla,select
max(c3)from tabla) FROM TABLA)




Que tal algo de este estilo

select max(case
when c1 > c2 and c1 > c3 then c1
when c2 > c1 and c2 >c3 then c2
else c3
end )

from tabla


Y si no es esto posible ¿existe una aproximación al problema? Ahora lo
tengo en un procedimiento almacenado con varios IF, pero no me gusta
nada. Es muy poco elegante.


gracias mil

Preguntas similares