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

Sostituisci il confronto con la sottoquery scalare con inner join o left/right join

Sembra che tu voglia qualcosa del genere:

select radicados.*
from
  radicados
  join estudiantes
    on radicados.asignado = estudiantes.estudianteid
  join usarios
    on estudiantes.usario = usarios.usarioid
  where usarios.nombre = $nombre_usuario

Nel costruire una tale query, inizia con FROM clausola. Unisci insieme le varie tabelle contenenti i dati necessari, in base alle relazioni tra di loro. Se necessario, aggiungi un WHERE clausola che descrive eventuali condizioni aggiuntive su cui desideri filtrare il risultato del tuo join. Quindi compila il SELECT elencare come appropriato.

In alcune circostanze potrebbe essere necessario aggiungere anche altre clausole (ORDER BY , GROUP BY , ecc.), ma non è male una volta che hai compreso le query di base.