SQL-сервер / Access - Заказать BY 1,2? - PullRequest
11 голосов
/ 22 июня 2011

Сегодня я столкнулся с запросом,

SELECT col1,'yes' as col2  FROM myTable  
   WHERE col2=TRUE  
UNION  
SELECT col1,'no' as col2 FROM mytable  
   WHERE col2=FALSE  
ORDER BY 1,2  

Я думал, что он будет упорядочен по первому столбцу, а затем по второму, но, поскольку задействован UNION, я немного не уверен, может ли кто-нибудь объяснить точное значение этого запроса

1 Ответ

13 голосов
/ 22 июня 2011

SQL Server объединит результаты вместе (что подразумевается как отдельный выбор), а затем упорядочит результаты по col1, а затем col2.В запросе на объединение вы можете поместить ORDER BY в окончательный выбор, который будет сортировать окончательный результат.

...