Si usa SQL Server, puede usar la cláusula TOP. Si es algo que no sea SQL Server, tendrá que ver si esa base de datos ofrece algo equivalente (muchos de ellos lo hacen). Algo como esto...
Select * from Main m
left outer join
(select top 1 * from subtable s
where s.main_table_id = m.id) q
on q.main_table_id = m.id;
Nota:Eso es para mostrarle la idea general. No tuve la oportunidad de ejecutarlo, por lo que podría haber un par de cambios necesarios, pero el concepto está ahí.