Không chắc tôi hoàn toàn hiểu mục đích, nhưng tôi đã thử ...
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));
Để giải quyết lỗi, tôi đã đặt bí danh cho các truy vấn con và thay vào đó kết hợp chúng. Tôi đã xóa một cái vì tôi không thể tìm ra lý do tại sao nó lại ở đó. Tôi cũng đã thêm where
để làm điều gì đó giống như những gì bạn đang yêu cầu. Bình luận nếu nó không làm những gì bạn muốn.