MySQL sta cercando di applicare ORDER BY a UNION ma UNION ha solo il child
colonne (senza il child.
prefisso a quello), non c'è s.id
nell'UNIONE. Ma puoi aggiungerne uno:
SELECT child.*, s.id as sid ...
UNION
SELECT child.*, s.id as sid ...
ORDER BY sid DESC
È necessario dargli un alias poiché UNION rimuoverà il nome della tabella o il prefisso dell'alias. Se è presente un sid
colonna in child
quindi usa qualcos'altro come alias per s.id
.