Eh solucionado mi problema de la siguiente manera
Código PHP:
Ver originalclass Usuario_Model_DbTable_Mensaje extends Zend_Db_Table_Abstract
{
protected $_name = 'mensaje';
protected $_primary = 'id';
public function getlistmensaje($id){
$select = $this->getAdapter()
->select()
->from('mensaje',array('max_time'=>new Zend_Db_Expr
('MAX(fecha)'))) ->group('de');
$subconsulta = $select->__toString();
return $this->getAdapter()
->select()
->from(array('m' => 'mensaje')) ->join(array('u' => 'usuario'), 'm.de = u.id', array('nombre'=>'nombre', 'apellido'=>'apellido')) ->join(array('tmp' => new Zend_Db_Expr
('('.$subconsulta.')')), 'm.fecha = tmp.max_time', false) ->where('u.rol = ?', 0)
->where('m.para = ?', (int)$id)
->order('tmp.max_time DESC')
->query()
->fetchAll();
}
}
Y este es resultado que me devuelve
Gracias por su colaboración :)