Hola, tengo una duda muy parecida como esta de nuestro colega r. velasco.
Tengo un select con un inner join y una funcion max, ocorre que es necesario coger una tabla del diccionario que encontrase asi:
Ejemplo.
Coche Aņo
01 2008
01 2005
02 2000
02 2001
03 1997
03 1995
La funcion MAX deberia traer todos los coches cuyo aņo sea maior, de esta forma:
Coche (Campo1) Aņo (Campo2)
01 2008
02 2000
03 1997
Esto es mi select:
SELECT
tabla1~Campo1 tabla1~Campo3 tabla1~Campo4
tabla1~Campo5 tabla1~Campo6 tabla2~Campo7
tabla2~Campo8 tabla2~Campo9 tabla2~Campo2
INTO
(wa_1-Campo1, wa_1-Campo3, wa_1-Campo4, wa_1-Campo5,
wa_1-Campo6, wa_1-Campo7, wa_1-Campo8, wa_1-Campo9,
wa_1-Campo2)
FROM tabla1 INNER JOIN tabla2 ON
tabla1~Campo1 = tabla2~Campo1 AND
tabla1~Campo3 = tabla2~Campo3 AND
tabla1~Campo4 = tabla2~Campo4
WHERE
tabla1~Campo5 IN s_Campo5 AND tabla1~Campo1 IN s_Campo1 AND
tabla2~Campo10 = p_Campo10 AND
tabla2~Campo2 = ( SELECT MAX( tabla2~Campo2 ) FROM tabla2 )
GROUP BY
tabla1~Campo1 tabla2~Campo9 tabla2~Campo8 tabla2~Campo7
tabla1~Campo6 tabla1~Campo5 tabla1~Campo4
tabla1~Campo3 tabla2~Campo2
ORDER BY
tabla1~Campo1.
APPEND wa_1 TO itab_1.
ENDSELECT.
No lo se que ocurre pues esta saliendo solo el coche leido por
primero (01 2008). No esta leyendo el cambio de coche.
Espero que alguien pueda ayudarme.
Gracias por adelantado.
Emilio Acuņa