Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/04/2005, 16:59
Keysher
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
No, creo que esa select no me valdría, gracias de todas formas.

Lo que necesito sería algo así:

1- Sacar todos los registros en los que el campo1 tenga su valor máximo.
2- De ese conjunto de registros (pueden ser uno o cien) tengo que seleccionar los que tengan el valor máximo del campo2 (pero tienen que cumplir la condición anterior).
3- En éste punto tendré uno o más registros, cuyo campo1 será el valor máximo de TODA la tabla y cuyo campo2 será el valor más alto. No el más alto de la tabla, sino el más alto de los que se ajusten a la primera condición.
4- En éste conjunto de resultados deberé seleccionar él o los que tengan el campo3 más alto.

Graficamente sería lo siguiente:

C1 - C2 - C3
01 - 58 - 04
12 - 16 - 99
15 - 25 - 66
29 - 04 - 85
28 - 05 - 90
29 - 05 - 03
29 - 17 - 01
29 - 16 - 45
12 - 99 - 01
29 - 17 - 21
28 - 25 - 52

De aquí habría que hacer:

29 - 04 - 85
29 - 05 - 03
29 - 17 - 01
29 - 16 - 45
29 - 17 - 21

Cojemos estos porque su campo1 es el mayor de la tabla.
-

29 - 17 - 01
29 - 17 - 21

Después seleccionamos los que tengan el campo2 mayor (pero no el mayor de la tabla, sino el mayor de los seleccionados previamente).
-

Y por último:

29 - 17 - 21

Ya que esl campo3 es el mayor de los dos que cumplían las condiciones anteriores.
-

En éste caso sólo ha quedado un registro, pero me es indiferente que queden varios, sólo me interesan esos tres valores.

No sé si se habrá entendido lo que quiero hacer, ni si se podrá hacer con un sólo select...

Un saludo!