O MySQL está tentando aplicar o ORDER BY ao UNION, mas o UNION tem apenas o
child
colunas (sem o child.
prefixo nisso), não há s.id
na UNIÃO. Mas você pode adicionar um:SELECT child.*, s.id as sid ...
UNION
SELECT child.*, s.id as sid ...
ORDER BY sid DESC
Você precisa fornecer um alias, pois o UNION removerá o nome da tabela ou o prefixo do alias. Se houver um
sid
coluna em child
então use outra coisa como o alias para s.id
.