Ver Mensaje Individual
  #10 (permalink)  
Antiguo 28/07/2010, 11:36
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Sacar el maximo Id de varios campos

driverram,
aplaudo tu interés y empeño en sacar la consulta de otro modo. Pero piensa en lo que ocurre cuando utilizas el HAVING. El HAVINg depende de un group by, y siempre es el resultado del mismo; pero cuando aplicas un group by sin ordenar previamente te muestra sólo un registro de cada dato y es además el primer almacenado, con lo que de poco te sirve. Te toca ordenar primero y luego hacer el group by valor (lo que yo he hecho), o hacer un SELECT valor, MAX(rev) maximo FROM tabla y luego mediante un inner join (subconsulta al fin y al cabo) relacionar el valor y el alias maximo
Un ejemplo ficticio
SELECT id, valor, rev FROM tutabla INNER JOIN (SELECT valor, MAX(rev) maximo FROM tutabla) t1 ON tutabla.valor = t1. valor AND tutabla.rev = t1.maximo

Esto, creo, también podría valer, pero quizás sea más rápido lo otro que te propuse. No estoy seguro de que no se pueda hacer algo con HAVING (quizás algún post de huesos52 ofreció una solución como la que tú buscas). Lo pensaré y si recuerdo la consulta o el post, lo pondré aquí.