Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

TSQL - Възможно ли е да се определи редът на сортиране?

Това е невероятно тромаво, но можете да използвате оператор CASE за подреждане:

SELECT * FROM Blah 
ORDER BY CASE MyColumn 
    WHEN 'orange' THEN 1 
    WHEN 'apple' THEN 2 
    WHEN 'strawberry' THEN 3 
    END 

Като алтернатива можете да създадете вторична таблица, която съдържа полето за сортиране и реда на сортиране.

TargetValue  SortOrder
orange       1
apple        2
strawberry   3

И присъединете вашата маса към тази нова маса.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Направете обектен DIE в SQL Server

  2. Използвайте OBJECT_NAME(), за да получите името на обект от неговия object_id в SQL Server

  3. Как да получите максимални и минимални стойности от таблица с помощта на агрегатна функция - SQL Server / TSQL урок, част 129

  4. Прочетете XML документ, съхранен в SQL Server 2008 R2 с XML тип данни

  5. Връщане на списък с всички сървърни тригери в SQL Server