让我们说Employee和Shippers表有以下数据。如何以与子查询相同的顺序检索数据?
EmployeeID Name
1 Davolio
2 Fuller
3 Leverling
4 Peacock
5 Buchanan
6 Suyama
7 King
8 Callahan
9 Dodsworth
10 West
ShipperID ShipperName
1 Speedy Express
2 United Package
3 Federal Shipping
以下查询以降序返回ShipperID。
select ShipperID from Shippers order by ShipperID desc;
现在,我想要从雇员表名称在ShipperID的检索顺序相同(3,2,1
)。我的预期产出是Leverling, Fuller, Davolio
。
select Name from Employee where EmployeeID in (select ShipperID from Shippers order by ShipperID desc)
上述查询没有像我期望的那样返回数据。如何解决这个问题?
更新: 这不是关于按升序或降序排列的记录。这只是我在这里发布的一个例子。为了使其更清楚,假设子查询返回ShipperID为2,3,1
。现在,我想要从Employee表中的记录,像Fuller, Leverling, Davolio
我很惊讶查询甚至运行。你为什么需要订单中的?你只想看看'EmployeeID'是否存在,顺序无关紧要。如果你想要你的结果排序,你应该命令你的外部查询 – HoneyBadger