想查看查询中写的查询结果顺序

时间:2018-02-02 14:55:32

标签: sql-server

我编写了一个查询,其中我想按照查询中的说明显示员工的顺序。查询如下

FileStreamResult

我想看到查询结果先丢失Sachin然后是其他人,在这种情况下,员工的ID不是顺序的,例如。 Sachin的身份证号码可以是4,而Vinay的身份证号码可以是1.但是,由于我已经把Sachin写在了第一位,所以我希望看到Sachin在结果中首先出现。

2 个答案:

答案 0 :(得分:4)

您可以使用带ID的CTE进行排序,并使用内部联接进行过滤。

WITH cte as (
    SELECT *
    FROM (VALUES
        (1,'Sachin')
        ,(2,'Gaurav')
        ,(3,'Vinay')
        ,(4,'Shiv')
        ,(5,'Sandeep')
        ,(6,'Vaibhav')
        ,(7,'Prashant')
        ) a (id, [name])
    )
SELECT em.*
FROM employeemaster em
JOIN cte
    ON em.employeename = cte.[name]
ORDER BY cte.id

答案 1 :(得分:0)

select * from employeemaster 
join (values
    ('Sachin',1)
    ,('Gaurav',2)
    ,('Vinay',3)
    ,('Shiv',4)
    ,('Sandeep',5)
    ,('Vaibhav',6)
    ,('Prashant',7))  a(employeename ,_order) on a.employeename = employeemaster.employeename 
order by a.[_order]