Se você sabe que
salaryplus
será sempre maior que salaryminus
, então você pode fazer order by coalesce(salaryplus, salaryminus, 0)
coalesce
retornará o primeiro valor que não for nulo, ou (neste exemplo) 0, se ambos os valores forem nulos. Caso contrário, faça algo assim:
order by greatest(ifnull(salaryminus,0), ifnull(salaryplus,0))
Isso tratará tanto
salaryminus
e salaryplus
como 0 se forem nulos e serão ordenados pelo maior dos dois.