Mysql
 sql >> Database >  >> RDS >> Mysql

SQL:come query in ordine sql da creare in questo caso

Non sono sicuro di aver capito bene l'obiettivo, ma ci ho provato...

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)); 

Per risolvere l'errore ho alias le sottoquery e le ho unite. Ne ho rimosso uno perché non riuscivo a capire perché fosse lì. Ho anche aggiunto il where per fare qualcosa di simile a quello che stai chiedendo. Commenta se non fa quello che vuoi.