我编写了一个查询,其中我想按照查询中的说明显示员工的顺序。查询如下
FileStreamResult
我想看到查询结果先丢失Sachin然后是其他人,在这种情况下,员工的ID不是顺序的,例如。 Sachin的身份证号码可以是4,而Vinay的身份证号码可以是1.但是,由于我已经把Sachin写在了第一位,所以我希望看到Sachin在结果中首先出现。
答案 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]