我被要求创建一个报告,比较所有客户最近的订单和他们之前的订单,然后比较并返回那些下单金额更高的订单作为他们的下一个订单。(我真的希望这是有道理的)
订单历史表的布局方式是,每个客户都有一个与该客户连续的订单号(例如,如果客户下了 5 个订单,那么他们的最高订单号是 5,这应该更容易。)所以对于有 5 个订单的客户,我想比较订单 # 的 4 和 5,然后仅在订单 #5 的金额更高时才返回此客户。
订单金额存储在不同的表中,但它们通过 guid 参考 (ID) 链接。
SELECT TOP 1 CO.OrderNumber
,COD.Amount
FROM cust_OrderDetail COD
INNER JOIN dbo.cust_Order CO ON Cod.cust_OrderID = CO.ID
INNER JOIN Customer c ON CO.Customer = c.ID
WHERE COD.Amount > (SELECT COD1.Amount
FROM cust_OrderDetail COD1
INNER JOIN dbo.cust_Order CO1 ON Cod1.cust_OrderID = CO1.ID
WHERE CO1.Ordernumber = (This is where I fall apart)
我希望这是有道理的。我最终崩溃了。我知道如何链接所有其他详细信息以及此处需要的所有其他内容。正是这一比较让我大吃一惊。