Puedes usar order by para eso:
Código SQL
[-]
select * from lineas left outer join facturas on (lineas.factura = facturas.numero) order by fecha desc
así el primer registro será la última compra. Esto te devuelve todas las líneas de facturas.
Dependiendo de la base de datos que uses tendrás que poner TOP, FROM, LIMIT, etc. para que te devuelva sólo un registro.