Ich bin mir nicht sicher, ob ich das Ziel vollständig verstehe, aber ich habe es versucht ...
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));
Um den Fehler zu beheben, habe ich die Unterabfragen mit einem Alias versehen und stattdessen mit ihnen verbunden. Ich habe einen entfernt, weil ich nicht herausfinden konnte, warum er da war. Ich habe auch das where
hinzugefügt um so etwas wie das zu tun, was Sie anfordern. Kommentieren Sie, wenn es nicht das tut, was Sie wollen.