Jeg er ikke sikker på, at jeg helt forstår målet, men jeg havde en chance...
select
consultas.id as a,
consultas.clasificacion as cl,
consultas.paciente_id as b,
consultas.created,
imc_kg_m2 as im
from consultas
join signos_sintomas on signos_sintomas.consulta_id = consultas.id
join (select pacientes.id from pacientes where pacientes.id < 30) p on consultas.paciente_id = p.id
where imc_kg_m2 = (select imc_kg_m2 from consultas where created = (select max(created) from consultas where imc_kg_m2 is not null));
For at løse fejlen aliasede jeg underforespørgslerne og sluttede mig til dem i stedet. Jeg fjernede en, fordi jeg ikke kunne finde ud af, hvorfor den var der. Jeg tilføjede også where
at gøre noget som det, du anmoder om. Kommenter, hvis det ikke gør, hvad du vil.