MySQL versucht, ORDER BY auf die UNION anzuwenden, aber die UNION hat nur das child
Spalten (ohne child.
Präfix), gibt es keine s.id
in der VEREINIGUNG. Aber Sie können einen hinzufügen:
SELECT child.*, s.id as sid ...
UNION
SELECT child.*, s.id as sid ...
ORDER BY sid DESC
Sie müssen ihm einen Alias geben, da die UNION den Tabellennamen oder das Alias-Präfix entfernt. Wenn es eine sid
gibt Spalte in child
Verwenden Sie dann etwas anderes als Alias für s.id
.