как показать нулевое значение в конце при использовании объединения все в SQL - PullRequest
0 голосов
/ 28 сентября 2019

Я использую этот код для перечисления чисел ASC и перечисления нулевых значений после значения в мс. Sql:

ORDER BY -ur.sira_no DESC

Но если я использую два запроса выбора с "UNION ALL" и чем мой запрос не работает.

Ошибка :

ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator.

Как мы можем упорядочить нулевые значения после чисел, используя UNION ALL?

1 Ответ

1 голос
/ 28 сентября 2019

Используйте подзапрос:

select x.*
from ((select . . .
      ) union all
      (select . . .
      )
     ) x
ORDER BY - x.sira_no DESC;

Однако я бы порекомендовал быть более точным:

ORDER BY (CASE WHEN sira_no IS NOT NULL THEN 1 ELSE 2 END),
         sira_no ASC

в исходном запросе.SQL Server позволяет упорядочивать по именам столбцов в запросе union all, но не по выражениям.

...