选择所有订单,但仅对第一笔订单进行佣金

时间:2019-07-02 15:06:53

标签: sql-server

收入应用于订单。该佣金仅适用于路线。我如何创建一个查询,该查询将返回所有订单及其收益,并且仅返回第一笔订单的佣金;同一日期同一条路线上的所有其他订单都将为NULL?

我尝试过分组,但是消除了订单的详细信息。

;
WITH
cteOrders(PostDate,Customer,Revenue)
AS
(
SELECT Date,Customer,Amount
FROM Orders
WHERE Amount > 0
AND Date BETWEEN @Start AND @End
),
cteCommission(Date,Customer,Commission)
AS
(
SELECT P.Date,P.Customer,P.Commission
FROM cteOrders
LEFT JOIN Pay P ON P.Date = O.Date AND P.Customer = O.Customer
)

SELECT *
FROM cteCommission

每个订单的预期结果都是一行,而佣金仅适用于第一笔订单。

结果是每一行都有佣金,从而导致价格过高。

0 个答案:

没有答案