Ik weet niet zeker of ik het doel helemaal begrijp, maar ik heb het geprobeerd...
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));
Om de fout op te lossen heb ik de subquery's een alias gegeven en in plaats daarvan samengevoegd. Ik heb er een verwijderd omdat ik niet kon achterhalen waarom het daar was. Ik heb ook de where
. toegevoegd om iets te doen wat u vraagt. Reageer als het niet doet wat je wilt.