Tidak yakin saya benar-benar mengerti tujuannya, tapi saya mencoba...
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));
Untuk mengatasi kesalahan saya alias subqueries dan bergabung dengan mereka sebagai gantinya. Saya menghapus satu karena saya tidak tahu mengapa itu ada di sana. Saya juga menambahkan where
untuk melakukan sesuatu seperti yang Anda minta. Beri komentar jika tidak sesuai keinginan Anda.