选择具有特定顺序的特定记录而不使用常见条件

yaz*_*pro 3 sql sql-server sql-server-2008

我的目的如下:

我有一个"StudentID"列表...让我们说:4,2,3,5,7(例如存储在数组中),我想创建一个select语句,返回指定studentID的StudentID和StudentName列表,具有相同的列表顺序.

所以结果应该是:

StudentID StudentName
4         Philip
2         Mary
3         Tima
5         Lara
7         Michel
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Joe*_*lli 5

我会将这些ID数组放入临时表中,然后针对select连接该临时表.在临时表中创建标识列将保留所需的顺序.

create table #temp (
    SortID int identity,
    StudentID int
)

insert into #temp 
    (StudentID)
    select 4 union all
    select 2 union all
    select 3 union all
    select 5 union all
    select 7

select s.StudentID, s.StudentName
    from StudentTable s
        inner join #temp t
             on s.StudentID = t.StudentID
    order by t.SortID
Run Code Online (Sandbox Code Playgroud)