Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Warunkowe SQL ORDER BY ASC/DESC dla kolumn alfa

Jedna opcja

;WITH cQuery AS
(
   SELECT
       *,
       ROW_NUMBER() OVER (ORDER BY SortColumn) AS RowNum
   FROM
       MyTable
)
SELECT
   *
FROM
   cQuery
ORDER BY
   RowNum * @Direction --1 = ASC or -1 = DESC

Lub CASE, w którym IMHO jest nieco brzydszy

ORDER BY
  CASE WHEN 'ASC' THEN SortColumn ELSE '' END ASC,
  CASE WHEN 'DESC' THEN SortColumn ELSE '' END DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przełączanie partycji w SQL Server (T-SQL)

  2. Włączenie programu SQL Server do rozproszonej transakcji XA

  3. Jak mogę wykonać żądanie HTTP z serwera SQL?

  4. Jak programowo utworzyć tabelę połączoną ODBC z widokiem SQL Server i czy można ją edytować?

  5. Czy mogę uzyskać nazwy wszystkich tabel bazy danych SQL Server w aplikacji C#?