MySQL essaie d'appliquer ORDER BY à l'UNION mais l'UNION n'a que le child
colonnes (sans le child.
préfixe), il n'y a pas de s.id
dans l'UNION. Mais vous pouvez en ajouter un :
SELECT child.*, s.id as sid ...
UNION
SELECT child.*, s.id as sid ...
ORDER BY sid DESC
Vous devez lui donner un alias car l'UNION supprimera le nom de la table ou le préfixe d'alias. S'il y a un sid
colonne dans child
puis utilisez autre chose comme alias pour s.id
.