【发布时间】:2015-05-31 13:09:03
【问题描述】:
我有一个记录所有客户订单的数据库。我要做的不是获取每个客户的所有订单,而是获取客户与我们的最新订单。我已经通过使用 Sub-Select 语句来做到这一点,但是由于有多少数据,检索需要很长时间。所以我想知道是否有另一种方法可以加快速度?
这是我编写的使用 Sub-Select 语句的代码:
SELECT Customer.CustomerId,
Customer.Firstname + ' ' + Customer.Surname AS [Customer Name],
(SELECT TOP(1) Orders.OrderId
FROM Orders
WHERE Orders.CustomerId = Customer.CustomerId
ORDER BY Orders.OrderId DESC),
(SELECT TOP(1) Orders.Item
FROM Orders
WHERE Orders.CustomerId = Customer.CustomerId
ORDER BY Orders.OrderId DESC)
FROM Customer
任何有关如何改进此功能的帮助或信息将不胜感激。
谢谢
【问题讨论】:
-
...为什么客户甚至会有一个订单 ID 列?
-
抱歉更正了 - 有客户 ID 的是订单表
标签: sql sql-server