podrías implementar un ORM, pero de igual forma tendrías como mínimo aplicar cierta cantidad de código, aunque más optimizado: un ejemplo de Doctrine (exceptuando la parte de configuración y declaración del modelo):
Código PHP:
<?php
$consulta= Doctrine::getTable('Consulta')
->createQuery('a')
->innerJoin('a.Servicio b') //internamente doctrine resuelve las relaciones por la definición de modelo
->select('a.nombre_consulta,a.created_at,a.updated_at, b.nombre_servicio') //optimizamos el analizador, de preferencia deben evitarse los *
->execute();
?>
<td><?php echo $consulta->getNombreConsulta() ?></td>
<td><?php echo $consulta->getServicio()->getNombreServicio() ?></td>
<td><?php echo $consulta->getCreatedAt() ?></td>
<td><?php echo $consulta->getUpdatedAt() ?></td>