MySQL mencoba menerapkan ORDER BY ke UNION tetapi UNION hanya memiliki child kolom (tanpa child. awalan itu), tidak ada s.id di UNI. Tapi Anda bisa menambahkan satu:
SELECT child.*, s.id as sid ...
UNION
SELECT child.*, s.id as sid ...
ORDER BY sid DESC
Anda perlu memberinya alias karena UNION akan menghapus nama tabel atau awalan alias. Jika ada sid kolom di child kemudian gunakan sesuatu yang lain sebagai alias untuk s.id .