首页 > 解决方案 > 根据 WHERE 的 IN 子句中的条目顺序对结果进行排序

问题描述

我有一个查询

 select * 
 from qtable 
 where qid in (15,555,2,3,4,5,36,27,18,9)

这里qid是主键。

我得到由 qid 排序的以下结果,因为它是主键,但我的要求是获得 in (15, 555, 2, 3, 4, 5, 36, 27, 18, 9) 语句中提到的结果.

有没有办法对记录进行排序?

标签: sql-server

解决方案


 select qtable.* 
 from qtable join (values (15),(55),(2),(3),(4))a(id)
 on a.Id = qtable.qID

推荐阅读