MSSQL'de Liste Sırasına Göre Kayıt Döndürme

SQL de kayıtları döndürürken bazen In ile var olan bir listeden kayıt çekeriz. Ama SQL veriyi döndürürken yine kendi Order sırasını kullanır veya belirlediğimiz bir alana göre sıralar. Bizim istediğimiz ise In içinde verdiğimiz sırada kayıtları döndürmesi.
SELECT CONTENT_ID FROM MY_CONTENTS WHERE CONTENT_ID IN (7,5,8) ORDER BY CONTENT_ID
Burada görülebileceği gibi 7,5 ve 8 id'li kayıtları çekiyoruz... Ancak 7,5 ve 8 sırası ile çekemiyoruz. Bu şekilde sıralamak istersek yapacağımız işlem basit :
SELECT CONTENT_ID FROM MY_CONTENTS WHERE CONTENT_ID IN (7,5,8)
ORDER BY CASE CONTENT_ID
WHEN 7 THEN 1
WHEN 5 THEN 2
WHEN 8 THEN 3
END



