Escribiendo una subconsulta usando Zend DB

Estoy teniendo algunos problemas para convertir el siguiente SQL en una consulta Zend Db.

$select = ' SELECT s.id, i.id as instance_id, i.reference, i.name, i.sic_code, i.start_date
                FROM sles s
                JOIN sle_instances i
                ON s.id = i.sle_id
                WHERE i.id = (  SELECT MAX(id) 
                                FROM sle_instances 
                                WHERE sle_id = s.id
                                )
                ORDER BY i.name ASC';

He llegado hasta el código anterior, pero Zend Db no está produciendo la consulta correctamente. ¿Puede alguien mostrarme lo que me falta?

$select = $db->select() ->from('sles', array(   'id',
                                                'instance_id'   => 'sle_instances.id',                                                                                          
                                                'reference'     => 'sle_instances.reference',           
                                                'name'          => 'sle_instances.name',
                                                'sic_code'      => 'sle_instances.sic_code',
                                                'start_date'    => 'sle_instances.start_date'
                                             )
                              )
                        ->join('sle_instances', 'sles.id = sle_instances.sle_id')
                        ->where('sles.id = (SELECT MAX(id) FROM sle_instances WHERE sle_id = sles.id)')
                        ->order('sle_instances.name ASC');

El SQL funciona por cierto. Lo estoy reescribiendo usando Zend Db, ya que deseo usar la funcionalidad Zend Paginator.

Cualquier ayuda es muy apreciada.

Pijama

Respuestas a la pregunta(4)

Su respuesta a la pregunta