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:
Hola a ,

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


Respuesta Responder a este mensaje
#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:
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:
> Hola a ,
>
> 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
>
>


Respuesta Responder a este mensaje
#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:
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:
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:
> Hola a ,
>
> 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
>
>






Respuesta Responder a este mensaje
#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:
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:
> 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:
>> 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:
>> > Hola a ,
>> >
>> > 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
>> >
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
#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:
Pues si tb.p_tiempoparcial = 0, sólo necesito el tb.importe sin más

"Maxi" escribió en el mensaje
news:
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:
> 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:
>> 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:
>> > Hola a ,
>> >
>> > 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
>> >
>> >
>>
>>
>
>






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