Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pernyataan KASUS untuk Pesanan Berdasarkan Klausa dengan Beberapa Kolom dan Pengurutan Desc/Asc

Anda dapat menulis beberapa kasus, meskipun semuanya memiliki kondisi yang sama.

ORDER BY 
    CASE @OrderByColumn WHEN 1 THEN Forename END DESC, 
    CASE @OrderByColumn WHEN 1 THEN Date END, 
    CASE @OrderByColumn WHEN 1 THEN Location END, 
    CASE @OrderByColumn WHEN 2 THEN Surname END ASC 

Sebenarnya, Anda tidak menentukan kolom untuk diurutkan, tetapi ekspresi.

Pernyataan kasus mengembalikan null jika kondisi tidak terpenuhi, jadi sebenarnya artinya:

CASE @OrderByColumn WHEN 1 THEN Forename ELSE NULL END

Jadi jika @OrderByColumn bukan 1 maka pernyataan kembali selalu NULL. Omong-omong, itu tidak mengecualikannya dari penyortiran, tetapi menempatkan semua baris itu bersama-sama dalam hasil, menjadikan 'SurName' penyortiran yang menentukan dalam grup baris tersebut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MultipleActiveResultSets=Benar atau beberapa koneksi?

  2. Apa yang BUKAN Operator Logis di SQL Server - Tutorial SQL Server / TSQL Bagian 121

  3. Cara menjalankan Pekerjaan Agen Server SQL yang tercantum dalam Tabel SQL

  4. Peta Poco mana klausa

  5. sql - mendapatkan jumlah karyawan di setiap kelas dalam format tertentu