problema con el HAVING
Publicado por maria (4 intervenciones) el 17/06/2010 10:27:13
Buenos días.
Tengo un problema al hacer una consulta con el manejador de oracle.
Tengo una tabla CURINGORIGINAL donde quedan registrados todos los tiempos de cura de todas las prensas.
Quiero sacar todos los registros de una determinada prensa que tienen como tiempo de cura el maximo existente.
Esto se podría hacer así:
select * from CURINGORIGINAL
where datetime = (Select max(datetime) from CURINGORIGINAL where CUREPRESS = 'A01');
Pero esto consume mucho tiempo y recursos al tener que gestionar una tabla generada a partir del select anidado.
Entonces he visto que se puede hacer con el HAVING:
Segun la documentacion que he visto sería:
select * from CURINGORIGINAL
where CUREPRESS = 'A01'
having DATETIME = MAX(DATETIME)
Pero me da error por el GROUP BY, me dice que no es una expresion de ese tipo.
No se lo que me falta porque si añado el GROUP BY CUREPRESS me dejaría un solo registro.....
Necesito ayuda please.
muchas gracias.
Tengo un problema al hacer una consulta con el manejador de oracle.
Tengo una tabla CURINGORIGINAL donde quedan registrados todos los tiempos de cura de todas las prensas.
Quiero sacar todos los registros de una determinada prensa que tienen como tiempo de cura el maximo existente.
Esto se podría hacer así:
select * from CURINGORIGINAL
where datetime = (Select max(datetime) from CURINGORIGINAL where CUREPRESS = 'A01');
Pero esto consume mucho tiempo y recursos al tener que gestionar una tabla generada a partir del select anidado.
Entonces he visto que se puede hacer con el HAVING:
Segun la documentacion que he visto sería:
select * from CURINGORIGINAL
where CUREPRESS = 'A01'
having DATETIME = MAX(DATETIME)
Pero me da error por el GROUP BY, me dice que no es una expresion de ese tipo.
No se lo que me falta porque si añado el GROUP BY CUREPRESS me dejaría un solo registro.....
Necesito ayuda please.
muchas gracias.
Valora esta pregunta


0