Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL:wie in diesem Fall eine Abfrage in SQL-Reihenfolge erstellt wird

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.