funcion MAX()

22/11/2004 - 13:41 por Joan Q. | Informe spam
Hola a tod@s,

Igual me he hecho un lío y es una tontería, pero ahora no veo la manera en
un select de sacar el MAX() entre 2 campos diferentes de la misma tabla
Necesito en un select sólo el valor más alto entre t.valor1 y t.valor2

select
t.nombre,
MAX(t.valor 1, t.valor 2)

from trabajadores t


Respuesta: la función max requiere 1 argumentos

Preguntas similare

Leer las respuestas

#1 Maxi
22/11/2004 - 13:50 | Informe spam
Juan, de esa forma no lo podes hacer, pero veamos!! vos queres sacar el
Maximo valor de entre campos? como es eso?

No te entiendo bien el fin del mismo


Salu2
Maxi


"Joan Q." escribió en el mensaje
news:
Mostrar la cita
#2 Joan Q.
22/11/2004 - 14:12 | Informe spam
Muchas gracias por responder Maxi,

Bueno el caso concreto seguro puede resolverse de otra manera, lo que pasa
es que quería hacerlo de manera super rápida



Quiero saber el salario de un trabajador, teniendo en cuenta que



tb.importe es el salario absoluto independiente de la jornada

tb.p_tiempoparcial tiene un valor que indica el porcentaje de jornada pero
vale 0 cuando no minimiza (es a tiempo completo) (cosas del que diseñó la
BD)

salario = tb.importe * tb.p_tiempoparcial / 100 si tb.p_tiempoparcial (si
tb.p_tiempoparcial no vale 0)



Por tanto tb.importe * t.p_tiempoparcial / 100 me dará el importe, pero si
tb.p_tiempoparcial = 0 no sirve. Por esto había pensado qué fácil saco el
MAX entre un valor y otro porqué en un caso siemrpe será 0



select

t.nombre,

tb.p_tiempoparcial,

tb.importe,

tb.importe * t.p_tiempoparcial / 100



from trabajadores t



inner join trabajadoresconceptoscobro tb

on t.codigoempresa = tb.codigoempresa

and t.cod_trabajador = tb.cod_trabajador



group by

t.nombre,

t.p_tiempoparcial,

tb.importe,

tb.importe * t.p_tiempoparcial /100



order by t.nombre, tb.cod_concepto





"Maxi" escribió en el mensaje
news:
Mostrar la cita
en
Mostrar la cita
#3 Maxi
22/11/2004 - 14:39 | Informe spam
Hola, pregunta: si vale 0 que haces? lo excluis? decime que logica
aplicarias cuando vale 0, porque se puede resolver esto con un simple select
:)


Salu2
Maxi


"Joan Q." escribió en el mensaje
news:
Mostrar la cita
#4 Joan Q.
22/11/2004 - 14:54 | Informe spam
Pues si tb.p_tiempoparcial = 0, sólo necesito el tb.importe sin más

"Maxi" escribió en el mensaje
news:
Mostrar la cita
select
Mostrar la cita
pasa
Mostrar la cita
pero
Mostrar la cita
la
Mostrar la cita
(si
Mostrar la cita
si
Mostrar la cita
el
Mostrar la cita
manera
Mostrar la cita
tabla
Mostrar la cita
t.valor2
Mostrar la cita
#5 Maxi
22/11/2004 - 15:05 | Informe spam
ok

quizas entonces esto te ayude

SELECT MAX(CASE WHEN tb.p_tiempoparcial = 0 THEN tb.importe ELSE tb.importe
* tb.p_tiempoparcial / 100 END ) AS SALARIO from ..

Suerte


Salu2
Maxi


"Joan Q." escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida