Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/12/2015, 13:58
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Obtener el precio mayor de tres columnas

Hola franjgg:

No utilices un mismo post para hacer más de una pregunta. Si tu pregunta original ya fue resuelta, entonces da por solucionado el post y si tienes alguna otra duda entonces abre un nuevo post. Ojo con eso.

Ahora bien, pasando a tu problema, en realidad no queda del todo claro a qué te refieres con que el precio sea menor a 100€... puedes filtar de varias formas:

Supongamos que tienes tu tabla así:

Código:
select * from tabla;

id  precio1 precio2 precio3 
--------------------------------
1   97      98      99
2   98      99      100
3   99      100     101
4   100     101     102
entonces, puedes mostrar los resultados de los registros desde los siguientes puntos de vista:

1. Que los tres precios sean menores a 100:

Código:
SELECT 
  precio1, 
  precio2, 
  precio3, 
  GREATEST(precio1, precio2, precio3) PrecioMayor 
FROM tabla 
WHERE precio1 < 100 and precio2 < 100 and precio3 < 100;

id  precio1 precio2 precio3 precioMayor
--------------------------------------------------------
1   97      98      99      99
2. Que al menos uno de los tres precios sea menor a 100:
Código:
SELECT 
  precio1, 
  precio2, 
  precio3, 
  GREATEST(precio1, precio2, precio3) PrecioMayor 
FROM tabla 
where precio1 < 100 or precio2 < 100 or precio3 < 100;

id  precio1 precio2 precio3 precioMayor
------------------------------------------
1   97      98      99      99
2   98      99      100     100
3   99      100     101     101
3. En un mismo renglón comparar sólo entre los que sean menores a 100 y de esos tomar el mayor:

Código:
SELECT 
  precio1, 
  precio2, 
  precio3, 
  GREATEST( IF(precio1 < 100, precio1, 0), 
            IF(precio2 < 100, precio2, 0), 
            IF(precio3 < 100, precio3, 0) 
          ) PrecioMayor 
FROM tabla;

id  precio1 precio2 precio3 precioMayor
------------------------------------------
1   97      98      99      99
2   98      99      100     99
3   99      100     101     99
4   100     101     102     0
Observa que en este último caso para el ID=4 el resultado es un cero, porque ninguno de los tres precios es menor a 100...

y así podrías continuar con más tipos de filtración... haz la prueba para ver si alguno de estos filtros te sirve, y si no es lo que esperas, dinos exactamente qué es lo que pretendes, pon datos de ejemplo y a partir de esos datos dinos qué es lo que esperas obtener como resultado.

Saludos
Leo