Sql хранимая процедура подсчета оборота капитала для брокера - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь посчитать кол-во оборотов брокера, общую сумму покупки, общую сумму продажи.Проблема заключается в том, что покупатель также является продавцом, и в этом случае брокер оборачивается акциями один раз на стороне покупки и один раз на стороне продажи.Таким образом, если брокер продает 150 акций самому себе, оборот для этой сделки должен быть 300.

Таблица:

 | InstrumentId | Price | Qty | Buyer | Seller | Date
-----------------------------------------------------
 |    265       |  22   | 100 |   A   |   B    | ----
-------------------------------------------------------
 |    265       |  23   | 150 |   A   |   A    | ----
------------------------------------------------------- 
 |    265       |  21   | 75  |   C   |   A    | ----
----------------------------------------------------

Expected result: turnover 475.
Buy total: 250.
Sell total: 225.

1 Ответ

0 голосов
/ 31 мая 2019

Один метод:

select broker, sum(qty)
from ((select buyer as broker, qty from sales) union all
      (select seller, qty from sales)
     ) b
group by broker;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...