Выбрать все заказы, но только комиссию за первый заказ - PullRequest
0 голосов
/ 02 июля 2019

Выручка применяется к заказам. Комиссия распространяется только на маршруты. Как я могу создать запрос, который будет возвращать все заказы с их выручкой и только комиссией за первый заказ; каждый другой заказ по тому же маршруту на ту же дату будет НЕДЕЙСТВИТЕЛЕН?

Я пробовал группировать, но это исключает детализацию заказов.

;
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

Ожидаемым результатом будет строка для каждого заказа, а комиссия будет взиматься только с первого заказа.

В результате комиссия взимается с каждой строки и, таким образом, значительно завышена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...