La única forma que encuentro razonable es hacerlo por UNOIN cambiando las condiciones lógicas, porque, precisamente) las condiciones que planteas son excluyentes entre sí.
No se puede plantear una proposicion así en un ORDER BY. Tienes que recurrir a la consulta en sí para obtenerlo.