Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2010, 11:53
mercucho1
 
Fecha de Ingreso: enero-2006
Mensajes: 13
Antigüedad: 18 años, 4 meses
Puntos: 0
Problema con consulta anidada

Buenas!! Pues tengo un problemilla con una consulta a la base de datos,... A grandes rasgos tengo:

* Tabla material (id, nombre)
* tabla historial_material (id, idmaterial, fechacreacion, estado)

Cada vez que cambia el estado del material (puede estar ocupado, roto, disponible,...), inserto una linea en la tabla historial_material.

El caso es que quiero sacar una lista de material con su estado actual (me baso en el maximo fechacreacion) y no hay manera :(

Lo ideal sería....

Código MySQL:
Ver original
  1. SELECT m.*, hm.estado FROM MATERIAL m, HISTORIAL_MATERIAL hm
  2. WHERE m.id=hm.idmaterial and hm.id in (
  3. select max(fechacreacion) from HISTORIAL_MATERIAL hm2 where hm2.id = hm.id limit 0,1)

Pero el problema está en que no se puede (en MySQL por lo menos) realizar el limit en una consulta interna. ¿Alguien se le ocurre alguna consulta que pueda funcionar?