假设我的表结构是这样的
ID OEReference
--- ------------
1 00000634B9
2 00000634B6
3 0005000053
4 0002855071
5 0000940148
6 0001414825
7 00000634B9
Run Code Online (Sandbox Code Playgroud)
我希望他们以我的方式提供OEReference,订单应保持在输出中.我的sql就像
Select * from mytable where OEReference in ('00000634B9','0001414825','00000634B6')
Run Code Online (Sandbox Code Playgroud)
上述语句未按IN子句的顺序返回结果集.我知道ORDER BY CLAUSE是不可能的
我怎样才能在sql server中使用简单的sql语句.谢谢
您可以使用临时表作为过滤器.一个inner join将强制过滤器,你可以进行排序标识列:
declare @filter table (id int identity, ref varchar(50))
insert @filter values ('00000634B9')
insert @filter values ('0001414825')
insert @filter values ('00000634B6')
select *
from YourTable yt
join @filter filter
on filter.ref = yt.OEReference
order by
filter.id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
757 次 |
| 最近记录: |